Занятие 4.4 Сборка логики из стандартных логических блоков
Цель: разработать логику для проекта “Реконструкция сражения” и научиться использовать стандартные логические блоки для примитивов.
Задачи:
- Усвоить навык правильного использования иерархии объектов в Varwin
- Закрепить навыки масштабирования, перемещения и поворота объектов в редакторе логики.
- Усвоить навыки тестирования своих проектов на баги/ошибки
- Закрепить навыки использования свойств объекта
- Реализовать полноценную логику проекта согласно техническому заданию
- Структурировать логические блоки в редакторе логики, использую разные вкладки
Методические материалы для подготовки к занятию:
Пошаговая инструкция по разработке кейсов #4.
Создание логики.
Очень важное новое знание редактора логики, которое нам нужно усвоить в этом кейсовом задании - это активация (1) и деактивация (2) объектов.
У каждого объекта в XRMS Varwin есть параметры активации и деактивации. С помощью них мы можем контролировать видимость объектов на сцене. Если активировать объект, то он будет виден на сцене. Если деактивировать, то объект перестанет быть видим.
Вкладки редактора логики.
Чтобы нам было удобно работать с логикой в XRMS Varwin специально созданы удобные вкладки редактора логики (1). С помощью этих вкладок мы можем разнести громоздкие конструкции логики в разные блоки, отвечающие за определенную область функционала приложения.
Чтобы создать новую вкладку необходимо нажать на (2) значок “+ и назвать её. Для данного проекта будет удобно создать четыре вкладки, как на скриншоте выше.
Создайте отдельную вкладку для каждой фазы боя.
После этого сразу проработаем вкладку редактора логики “Главный”. Нам необходимо задать описание для объекта “Текст-описание” и деактивировать кнопки перехода на вторую и третью фазу.
Всё это нам необходимо добавить в событие “в момент инициализации”. Подробное описание события можно посмотреть в таблице ниже.
Сборка логики первой фазы.
Теперь перейдем к вкладке редактора логики “Первая фаза”.Здесь нам необходимо задать алгоритм действий для события использования объекта “Текст-Первая фаза”.
При взаимодействий с кнопкой “Первая фаза” описание должно изменяться на описание первой фазы сражения. И все боевые единицы должны перемещаться соответственно первой фазе сражения. Обязательно нужно выбрать точку (1) к которой будет перемещаться определенный полк и скорость (2) с которой он будет это делать.
Совет: в этом кейсе как никогда важно тестировать приложение в процессе его разработки, чтобы удостовериться, что все полки двигаются так, как нам необходимо. Чтобы определить оптимальную скорость и направление перемещения периодически запускайте проект в Desktop-режиме из Desktop-редактора. Чтобы не загружать редактор каждый раз заново, при сборке логики просто сворачивайте окно Desktop-редактора.
После всех перемещений объект “Текст-Первая фаза” должен быть деактивирован.
Также, при определении столкновения между объектами “Ордынцы центр” и “Сторожевой полк” должны происходить дополнительные перемещения и масштабирование блоков.
И как только масштабирование (то же самое что уничтожение полка) будет завершено нам необходимо убрать его с поля сражения и активировать кнопку “Вторая фаза”.
Сборка логики второй фазы.
Во второй фазе у нас добавляется дополнительное действие позволяющее вращать военные полка. Логика остается такой же, нам нужно переместить объекты согласно тому как это происходило на поле сражения.
Чтобы заставить наши примитивы вращаться нам необходимо выбрать ось вдоль которой они будут вращаться, задать угол и скорость поворота.
Сборка логики третьей фазы
Самостоятельно подумайте, как войска должны перемещаться в третьей фазе и что должно происходить на сцене. Финальная логика должна выглядеть так:
Финальный вариант размещения объектов на сцене выглядит так:
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Какие стандартные события существуют для примитивов Varwin?
- Можно ли назвать примитивным объект “точка”?
- Что такое активация и деактивация объектов?
- Что такое вкладки редактора логики и для чего они нужны?