Занятие 7.4 Создание интерфейса управления луноходом
Цель: разработать для проекта "Космическая миссия" вкладку логики “Управление ровером”.
Задачи:
- Реализовать интерфейс и логику управления ровером
- Закрепить навык тестирования своих проектов
- Закрепить навыки работы с логическими блоками в Blockly
- Закрепить навыки работы с активацией/деактивацией объектов
- Закрепить навыки работы с продвинутыми функциями текста
- Закрепить навык тестирования своих проектов
- Закрепить навыки работы с UI/UX - дизайном
- Закрепить навыки работы с событиями “Объект начали использовать”
Вкладка Управление ровером.
В этой вкладке мы настроим управление ровером и интерфейсы управления.
Для этого для начала разместим на сцене интерфейсы ровера из объектов “Текст” (Вперед, Назад, Лево, Право, Целостность ровера):
Примечание: UI “Целостность ровера” мы разберем подробнее на следующей вкладке, пока просто добавьте этот интерфейс.
Далее на вкладке Управление ровером создадим логику использования этих UI.
Самостоятельная работа: логику построения последующих событий мы уже разбирали ранее в кейсе №5 “Реконструкция битвы”, воспользуйтесь таблицей стандартной логики, чтобы вспомнить блоки стандартной логики объектов и реализуйте интерфейс управления Ровером как на картинке ниже. Чтобы определить наилучшую скорость и угол поворота тестируйте приложение.
Дополнительно нам необходимо реализовать функции активации и деактивации интерфейса управлением ровера, чтобы использовать их в необходимый момент сценария:
Это необходимо для удобной реализации UX/UI-дизайна, когда интерфейсы видимы для Игрока только в нужный момент сценария. В начале миссии (до активации UI “Здания” эти интерфейсы нам не нужны, поэтому мы используем функцию Деактивации интерфейсов ровера и используем Активацию интерфейсов ровера, когда игрок нажал на UI “Задание” для начала задания.
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Как правильно называть объекты так, чтобы в событиях они отображались не полностью, а только необходимая для опознавания часть названия?
- Какой блок необходимо использовать чтобы задать расстояние и скорость перемещения объекта?
- Как работает блок “создать текст из”?