Робот с ручным управлением
Робот с ручным управлением может перемещаться вперёд и назад, более того, мы можем управлять направлением его движения с помощью спрайтов со стрелками и выбирать, куда он отправится — налево, направо или прямо.
А теперь напишем скрипт для нашего управляемого робота!
Настройка сцены
- Добавим три спрайта Arrow (Стрелка) на рабочую панель из библиотеки спрайтов.
- Изменим название спрайтов Arrow (Стрелка) на Left (налево), Right (направо) и Straight (вперёд).
- Нажмём на спрайт Straight (вперёд) и добавим скрипт, чтобы перемещаться в положение 0,0, на 0 градусов, выберем размер 200%.
- Добавим блок set servo on () to () angle (установить сервопривод на () до () угла) и установим угол на 90 градусов. Это позволит роботу двигаться вперёд при включении кода.
- Нажмём на спрайт Left (налево) и добавим скрипт, чтобы перемещаться на в положение -150,0, на -90 градусов, выберем размер 200%.
- Нажмём на спрайт Left (налево) и добавим скрипт, чтобы перемещаться на в положение 150,0, на 90 градусов, выберем размер 200%.
- И, наконец, нажмём на зелёный флаг, чтобы настроить рабочую область.
Управление
Управляемый робот движется под следующими углами:
- Вперёд — 90 градусов
- Налево — 130 градусов
- Направо — 40 градусов
Напишем код!
Спрайт «Прямо»
- Нажмём на спрайт Straight (вперёд) и добавим блок when the sprite is clicked (при нажатии спрайта) из панели Control (Управление) . Это позволит включить скрипт при нажатии стрелки вверх.
- Добавим блок set servo on () to () angle (установить сервопривод на () до () угла) и установим угол на 90 градусов.
Спрайт «Налево»
Нажмём на спрайт Left (налево) и добавим тот же код, что и для спрайта Straight (вперёд). В этот раз изменим угол на 130 градусов.
Спрайт «Направо»
Нажмём на спрайт Right (направо) и добавим тот же код, что и для спрайта Straight (вперёд). В этот раз изменим угол на 40 градусов.
Движение Вперёд-Назад
- Начнём со спрайта Straight (вперёд) и основного скрипта.
- Возьмём блок set robot orientation as () (установить положение робота на ()) из панели Robot (Робот) . Из выпадающего меню выберем направление vertical (вертикально).
- Добавим блок forever (всегда) из панели Control (Управление) .
- Добавим блок if () else (если () то всегда) из панели Control (Управление) внутрь блока forever (всегда).
- Затем поместим блок key () pressed (клавиша () нажата) из панели Sensing (Датчики) в пробел в блоке if-else (если-или).
- Установим клавишу “стрелка вверх”. Эта часть кода будет проверять, нажата ли клавиша со стрелкой вверх.
- Затем возьмём и перетащим блок go () at () % speed (перемещаться () при () % скорости) внутрь ветви if (если) из панели Robot (Робот) . Установим направление вперёд со скоростью 100%.
- В этот раз мы проверяем, нажата ли клавиша со стрелкой вниз. Поэтому изменим клавишу на стрелку вниз в блоке key() pressed (клавиша () нажата).
- В этот раз мы проверяем, нажата ли клавиша со стрелкой вниз. Поэтому изменим клавишу на стрелку вниз в блоке key() pressed (клавиша () нажата).
- После этого изменим направление на назад в блоке go () at () % speed (перемещаться () при () % скорости).
- Затем поместим блок stop robot (остановить робота) из панели Robot (Робот) внутрь ветви else (или).
Скрипт готов!
Проверим код с помощью робота.
Испытание
Как мы видим, управлять направлением движения этого робота мы можем с помощью спрайтов со стрелками. Эти стрелки позволяют менять направление движения робота на следующее: направо, налево и вперёд.
Кроме того, мы можем двигать робота и по кругу, если изменим угол.