Занятие 3.5 Переменные в Varwin
Цель: сформировать понимание переменных в программировании и узнать, как они используются в XRMS Varwin
Задачи:
- Понять как и для чего используются переменные
- Узнать какие типы данных существуют и как они применяются в программировании
- Научиться создавать переменные в XRMS Varwin и использовать их в своих проектах
- Понять какие типы переменных используются в XRMS Varwin
- На реальных примерах познакомиться с переменными в XRMS Varwin
Методические материалы для подготовки к занятию:
- Пошаговая инструкция по разработке кейсов #4.
- Переменная
- Переменная в программировании
- ГЛАВА 3. ПРОГРАММИРОВАНИЕ НА ПАСКАЛЕ :: 3.4. Типы данных :: 24
- Типы данных и их виды в языках программирования от Loftblog
Определение:
Переме́нная в функциональной и логической парадигмах программирования, переменная определяется как имя, с которым может быть связано значение, или даже как место (location) для хранения значения.
Область видимости и/или время существования переменной в некоторых языках задается классом памяти.
Литература для подготовки к занятию:
Какие типы переменных бывают? Поговорим об основных из них.
Литература для подготовки к занятию:
ГЛАВА 3. ПРОГРАММИРОВАНИЕ НА ПАСКАЛЕ :: 3.4. Типы данных :: 24
Типы данных и их виды в языках программирования от Loftblog
На следующем занятии нам необходимо будет реализовать один из пунктов ТЗ:
Должна быть создана система оценки, позволяющая определить количество правильных ответов баллах.
Это значит, что нам необходимо будет не просто зафиксировать, что результат успешный/неуспешный как в предыдущем проекте, а динамически определить результат в баллах.
Для этого удобнее всего использовать переменную, которая будет хранить результат.
Давайте попробуем это сделать!
Из определения переменной мы можем сделать вывод, что у переменной должно быть имя и что ее содержание может изменяться в зависимости от условий.
Давайте для начала научимся создавать переменную в Varwin.
Для этого в редакторе логики выберем категорию “Переменные” (1).
Нажимаем на “Создать переменную” (2).
Дадим переменной имя, в данном случае предлагается имя “Результат” (3).
Для завершения создания нажимаем на кнопку “Применить” (4).
Теперь вам необходимо задать начальное значение переменной.
Пока не вдаваясь в детали, выберем категорию “События” и выберем блок “В момент инициализации”. В этот блок подставим конструкцию “Присвоить результат” + в категории “Математика” выберем маленький блок с числом “0”.
Должна получиться следующая конструкция:
Итак, вы создали переменную и присвоили ей начальное значение в момент инициализации (запуска) приложения. Теперь осталось сформировать условия, при которых эта переменная будет изменяться. Что мы с Вами и сделаем на следующем практическом занятии.
А сейчас давайте подробно разберем все основные свойства взаимодействий, которые присутствуют практически в каждом объекте из библиотеки.
Примечание: у отдельных объектов могут быть уникальные свойства, как например у “Текста”, поэтому обращайте внимания на свойства в инспекторе каждый раз, когда выделяете объект.
Давайте выделим один из объектов на локации, например “Мозг”:
Выделив абсолютно любой объект из библиотеки Varwin Education вы увидите примерно такую картину по свойствам, как на скриншоте выше. Пойдем по порядку:
1. Свойство “Статичный” - свойство, которое в целом отвечает за то, будут ли действовать законы физики на объект при взаимодействии с другими объектами, т.е. будет ли сдвигаться объект при столкновении с другими (не статичный) или эти объекты будут проходить насквозь (статичный объект).
2. Свойство “Гравитация” - определяет будет ли действовать сила тяжести на объект, упадет ли он на землю при запуске мира или будет висеть в невесомости.
Примечание: на статичные объекты гравитация не действует, даже если она для них включена.
3. Свойство “Зона телепорта” - определяет сможет ли игрок переместиться на поверхность объекта с помощью механики телепортации в VR, сможет ли игрок ходить по объекту на клавишах в desktop-режиме просмотра.
Примечание: более всего актуально для больших плоских объектов. Например объект “Плоскость” всегда можно превратить в “пол” для перемещения, но об этом в следующем кейсе.
4. Свойство “Препятствие” - определяет будет ли объект являться препятствием для игрока или других объектов или сквозь объект будет проходить абсолютно все.
Примечание: объект будет проходить в том числе и через границы локации, поэтому не включайте для объекта без свойства “Препятствие” гравитацию, иначе он просто провалится под пол. Объект-препятствие может быть одновременно статичным, чтобы являться препятствием для игрока, но не для других предметов, это может быть полезным для создания UX/UI-дизайна, например, для создания “невидимых стен”.
5. Свойство “Масса” - определяет физическую характеристику объекта, насколько его будет сложно сдвинуть другим объектом при определенной скорости и т.д. В целом это вполне справедливо и для реального мира.
6. Свойство “Пружинность” - насколько далеко объект будет “отпрыгивать от поверхности” при ударе с определенной скоростью. Баскетбольный мяч имеет высокую пружинность, а слиток золота близкую к нулю.
7. Свойство “Можно брать в руку” - игрок сможет взять в руку этот объект с помощью кнопки “grab” на контроллере.
8. Свойство “Можно использовать” - игрок сможет использовать этот объект по кнопке “use” на контроллере.
9. Свойство “Можно дотронуться” - если это свойство активировано, то возможно использовать события, если игрок дотронулся контроллером до объекта (о таких типах событий мы поговорим чуть позже). В момент, когда мы дотрагиваемся до объекта на нем появляется синяя обводка.
Контрольные вопросы (выборочно можно использовать на этапе рефлексии, для проверки усвоения знаний, полученных на занятии):
- Что такое переменная?
- Для чего используются переменные?
- Какие типы данных вы знаете?
- Какие типы переменных используются в XRMS Varwin?