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

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

Объект также является переменной

Важное преимущество использования переменных перед использованием конкретных значений - исключение возможности опечатки при повторном использования. Они создаются пользователем и не ограниченны количеством

Глобальные переменные

Глобальные переменные это переменные, обращение к которым возможно из любой части кода. В случае с Blockly, обращение к глобальным переменным можно осуществить из любой функции и из любого блока в рабочей области

Чтобы создать глобальную переменную, откройте категорию блоков «Переменные». В новом проекте эта категория содержит всего одну кнопку, с помощью которой можно «Создать переменную…». Нажмите ее и у вас откроется модальное окно, где необходимо будет имя новой переменной. После этого, в этом же разделе появится три новых блока - «Присвоить…», «Увеличить на…» и созданный блок получения переменной

Для каждого блока переменной доступны три функции, которые вызываются нажатием на имя переменной в блоке:

  • выбрать другую переменную - блок переменной всего лишь оболочка для переменной. Если необходимо, пользователь может поместить в конкретный блок другую переменную, выбрав её из выпадающего списка
  • переименовать - изменяет имя переменной на глобальном уровне. Таким образом, каждый блок, который использует эту переменную так же изменится, соответствуя внесенным изменениям
  • удалить - удаление переменной. Также удаляются все блоки, использующие эту переменную

Пример

В данном примере показано использование переменной в качестве массива для сбора списка выбранных объектов

Локальные переменные

Локальные переменные это переменные, которые хранятся в пределах своего блока (В котором они находятся) и работают только с ним. Их использование помогает пользователю не создавать большое количество переменных, которые будут не нужны после выполнения одной функции. Также, в некоторой степени, локальные переменные экономят вычислительные мощности вашего компьютера. В Blockly, прямое использование локальных переменных немного ограниченно. В Varwin XRMS они встроены в блоки функций и циклов и не могут быть изменены, также как и не могут быть созданы

Пример 1

В данном примере показан блок «Объект начал столкновение» категории «События». У этого блока по умолчанию заданы локальные переменные первый объект и второй объект с которыми пользовать не может взаимодействовать вне этого блока. В нашем случае, в качестве указанных объектов для столкновения указаны два списка. Роль локальных переменных в этой конструкции - это выделение тех двух объектов из списков, которые будут сталкиваться в конкретный момент времени

Пример 2

В данной логике мы используем локальные переменные в качестве проверки значения переменной «Элемент». При нажатии на кнопку мы меняем значение переменной «Элемент» на цифру 1. При отжатии на цифру 2. В блоке события «Изменение значения» построим логику таким образом, что бы у нас сверялось старое и новое значение переменной «Элемент». Таким образом, если старое значение больше нового, то цвет куба будет меняться на синий. А если наоборот, то цвет будет меняться на красный. Таким образом, локальные переменные могут выступать в качестве полезных помощников при выстраивания сложной логики, НО только в пределах своего блока