Порядок выполнения блоков

../../_images/image-123.png

Описание блоков

Блоки, добавленные в рабочую область, выполняются единожды, в момент вызова блока или конструкции блоков. Чтобы зациклить или повторить выполнение N количество раз, необходимо поместить блок или конструкцию в соответствующий блок из раздела «Цепочки»

Логика выполнения блоков исполняется последовательно, начиная с блока «Подготовка сцены», который выполняет все действия внутри себя перед началом старта проекта

Далее, если вы хотите сделать преднастройки для проекта, поместите в редактор блок «Запустить цепочку при старте сцены». Например включить или выключить гравитацию для игрока

../../_images/image-57.png

Примечание

Оба эти блока находятся в категории блоков «События»

Порядок выполнения логики

В блоках Blockly есть некоторое количество событий, которые исполняются в заранее заданном порядке по мере выполнения логики. Этот порядок исполнения описан ниже:

../../_images/image-68.png

Подготовка сцены

Инициализация объектов на сцене – загрузка и размещение объектов на сцене

Инициализация событий объектов – подписка на события объектов, используемых в логике

Старт сцены

Исполнение блоков находящихся в «Запустить цепочку при старте сцены» и свободных блоков

Игровая логика

Выполнение параллельных цепочек, обработка событий

Примеры

Пример 1

../../_images/image-212.png
  • Первый блок выполнится один раз в момент загрузки сцены
  • Второй блок, также выполнится один раз, так как он не обременен никаким условием для выполнения и выполнится он также в момент инициализации сцены

Пример 2

Рассмотрим пример с роботом

../../_images/image-48.png

В данном случае задействована логика блоков «Выполнить не дожидаясь», из раздела «Цепочки». Если блоки соединены в одну логическую цепь, то их выполнение будет параллельным, то есть каждое из действий будет выполняться, не дожидаясь завершения предыдущего, и так для каждого блока в конструкции

Внимание

В блок «Выполнить не дожидаясь» можно поместить только блок действия и только один!

В логике, роботу задано:

  • Вращаться вокруг оси Z со скоростью 500 градусов в секунду
  • Перемещаться в направлении оси X со скоростью 1 метр в секунду

Эти два действия состоят в одной конструкции, каждый из которых помещен в «выполнить не дожидаясь», следовательно они будут выполняться параллельно