Знакомство с интерфейсом Blockly
Содержание
Blockly
Чтобы открыть визуальный редактор логики сцены, перейдите на страницу проекта и напротив сцены нажмите на иконку пазла
Откроется следующее окно, где:
- Рабочая область
- Библиотека блоков
- Панель инструментов Blockly
Рабочая область
В рабочей области создается логическая структура сцены - сценарий
Навигация в редакторе
Для того чтобы ознакомиться со всеми доступными сочетаниями клавиш, в режиме редактора логики в левом нижнем углу экрана нажмите ЛКМ по иконке со знаком вопроса:
Редактор Blockly поддерживает использование сочетаний горячих клавиш:
Действие | Сочетание клавиш |
---|---|
Сохранение | Ctrl + S |
Поиск | Ctrl + F |
Выделить все блоки | Ctrl + A |
Дублировать блок | Ctrl + D |
Вырезать блок | Ctrl + X |
Копировать блок | Ctrl + C |
Вставить блок | Ctrl + V |
Приблизить | CKM вверх |
Отдалить | CKM вниз |
Создать новую вкладку | Ctrl + T |
Переход между вкладками | Ctrl + 1...9 |
Удалить блок | Del / Backspace |
Отменить предыдущее действие | Ctrl + Z |
Повторить предыдущее действие | Ctrl + Shift+ Z |
Включить\выключить полноэкранный режим | F11 |
Элементы управления рабочей областью
По порядку:
- Развернуть редактор на весь экран
- Фокусировка на центре рабочей области. Центр определяется по существующим блокам
- Увеличить масштаб рабочей области
- Уменьшить масштаб рабочей области
- Корзина, из которой можно восстановить недавно удаленные блоки и группы блоков
Поиск по объектам
В редакторе логики присутствует поиск блоков по объектам в рабочей области, находящихся на сцене. Для его вызова, необходимо нажать комбинацию клавиш Ctrl + F
- Переход к предыдущему результату поиска
- Переход к следующему результату поиска
- Регистрозависимый поиск - результаты поиска становятся зависим от ввода символов верхнего или нижнего регистра
например если вы хотите найти «блок 1» и в поиске напишите «Блок 1» используя регистрозависимость, то «блок 1» у вас не найдется
- Поиск по словам - поиск происходит только по введенным словам
например если вы хотите найти «Игрок» и начнете писать слово по буквам, то результат не будет показан до тех пор, пока слово не будет введено полностью
- Закрыть окно поиска
Контекстное меню блоков
При нажатии на блок правой кнопкой мыши
открывается контекстное меню блока, позволяющее:
- Дублировать блок
- Добавить комментарий к блоку
- Вставка внутри/снаружи
Данная функция меняет только визуальное отображение блока
- Свернуть/развернуть блок
- Отключить блок
- Удалить блок или группу блоков
Библиотека блоков
Из блоков, находящихся в библиотеке блоков, собирается сценарий. Все блоки сгруппированы по разделам согласно их назначению: «Логика», «Действия» и т.д.
Для объектов, расположенных на сцене, в разделе «Объекты» создаются подразделы по типу объектов
Подробнее о типах блоков вы можете прочитать в соответствующей статье
Поиск по блокам
Поиск по блокам осуществляется в верхней части библиотеки блоков. Поиск работает для названий блоков и объектов со сцены
Панель инструментов Blockly
Панель инструментов позволяет:
- Применить изменения
- Отменить изменения
- Перейти в режим предпросмотра сцены VR
- Перейти в режим предпросмотра сцены на ПК
- Перейти в режим редактирования сцены на ПК
- Открыть код (рекомендуется для опытных пользователей программистов)
Выделение использующихся блоков
Для удобства пользователя, была разработана функция выделения активных блоков, которые исполняются в проекте в данный момент. Это удобно для отладки и выявления ошибок в сценарии
В данном примере выделяются сразу два блока:
- Блок события, реагирующий на столкновение объектов на сцене. Это происходит, потому что при старте сцены мы анимируем куб, перемещая его в сторону, где находится сфера. Поэтому получается, что в момент столкновения куба с другим объектом триггерится этот блок
- Блок события, включающий в себя конструкцию из блоков действия над тремя объектами: конусом, кубом и сферой
Работа с логикой удаленных объектов
При удалении объекта с 3D сцены, пользователь увидит сообщение о том, что данный «Объект используется в логике. Хотите его удалить?»
Если вы удалите такой объект, то вся логика связанная с этим объектом перестанет работать а блоки этого объекта станут неактивными
Однако, если вы поместите новый, соответствующий по типу старому, объект и так же его назовете, вся связанная логика реанимируется и будет работать корректно