Действия управления

Существует множество действий, которые задают вопрос, например - является ли позиция пустой. Когда ответ - Да (истина), выполняется следующее действие, а когда Нет (ложь) - оно пропускается. Если Вы хотите, чтобы несколько действий были выполнены или пропущены на основании результата, то можете поместить их в блок, разместив по краям требуемого блока символы начала и завершения. Здесь также может находиться ещё часть, которая выполняется тогда, когда ответ - Нет. Такой вопрос обычно выглядит следующим образом:

Здесь задаётся вопрос, является ли позиция для текущего образца объекта свободной от столкновений (collision free). Если да, то образец объекта начинает перемещаться в выбранном направлении. Если нет - образец объекта переходит в заданную позицию.

Для всех вопросов имеется поле под названием NOT. Если активировать его, результат вопроса будет обратным. То есть, если результат был истинен, то он станет ложным; а если он был ложным, то станет истинным. Это позволяет Вам исполнять некоторые действия, когда вопрос не является истинным.

Для многих вопросов Вы можете указать обращение ко всем образцам определённого объекта. В этом случае результат истинен только тогда, когда он истинен для всех образцов объекта. Например, Вы можете проверить, является ли для всех шариков правая позиция свободной от столкновения.

Доступны следующие вопросы и связанные с ними действия. (Обратите внимание, что значки данных действий имеют несколько изменённый вид, поэтому такие действия будет легко отличить от всех остальных).

Check Empty (Если позиция свободна от столкновения)
Этот вопрос возвращают истину, если текущий образец, помещённый в указанную позицию, не генерирует столкновение с объектом. Вы можете определить позицию как абсолютную или как относительную. Вы можете также указать, должны ли быть приняты во внимание только твёрдые или все объекты. Это действие обычно используется, чтобы проверить, может ли образец двигаться в определённую позицию.

Check Collision (Если в позиции имеется столкновение)
Это действие противоположно предыдущему. Оно возвращает истину, если происходит столкновение в том случае, когда текущий образец помещается в указанную позицию (только с твёрдыми или со всеми объектами).

Check Object (Если в позиции находится объект)
Этот вопрос возвращает истину, если образец, помещённый в указанную позицию, встречает образец указанного объекта.

Test Instance Count (Если число образцов равно значению)
Вы определяете объект и число. Если текущее число образцов объекта равно числу, то вопрос возвращает значение - истина. Иначе он возвращает значение - ложь. Вы можете также указать, должна ли быть проверка - или число образцов меньше, чем указанное значение; или больше, чем заданное число. Это обычно используется для проверки - покинули ли комнату все образцы определённого типа. Часто этот момент нужен для того, чтобы закончить уровень или игру.

Test Chance (С шансом выполнить следующее действие)
Вы определяете число сторон игрового кубика. Если кубик упал на 1, результат истинен, и выполняется следующее действие. Это действие может использоваться для внесения в игру элемента случайности. Например, в каждом шаге Вы можете генерировать с определённым шансом взрыв бомбы или изменение направления. Чем больше число сторон кубика, тем меньше шанс. Вы фактически можете использовать вещественные числа. Например, если Вы устанавливаете число сторон 1.5, следующее действие выполняется с вероятностью два из трёх. Использовать число меньшее чем 1 не имеет смысла.

Check Question (Если пользователь отвечает да на вопрос)
Вы определяете вопрос. Отображается диалог для игрока с кнопками Да и Нет. Результат истинен, когда игрок отвечает Да.

Test Expression (Если выражение истина)
Вы можете ввести выражение. Если выражение оценивается как истинное (то есть число, больше или равно 0.5), то выполняется следующее действие. Смотрите ниже для получения дополнительной информации о выражениях.

Check Mouse (Если кнопка мыши нажата)
Возвращает истину, если нажата указанная кнопка мыши. Стандартно используется в событие шага. Вы можете проверить, нажата ли кнопка мыши, и, если да, например, переместиться в указанную позицию (используйте переход к точке действия со значениями mouse_x и mouse_y).

Check Grid (Если образец выровнен с сеткой)
Возвращает истину, если позиция образца находится в сетке. Вы определяете горизонтальное и вертикальное расстояние ячеек сетки. Это бывает полезно, когда некоторые действия, например, создание поворота, допускаются только тогда, когда образец будет находиться в позиции сетки.

Start Block (Начало блока)
Указывает начало блока действий.

End Block (Завершение блока)
Указывает завершение блока действий.

Else (Ещё/Или/Иначе)
Позади этого действия следует ещё часть, которая выполняется когда результат вопроса ложный.

Repeat (Повторить следующее действие)
Это действие используется, чтобы повторить следующее действие (или блок действий) неоднократно. Вы просто указываете число.

Exit Event (Выйти из текущего события)
Когда встречается это действие, то не выполняется никакое дальнейшее действие в этом событии. Оно обычно используется после вопроса. Например, когда позиция свободна, ничего не должно быть сделано, и мы выходим из события. В этом примере, следующие действия выполняются только тогда, когда имеется столкновение.

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

Execute Code (Выполнить фрагмент кода)
Когда Вы добавляете это действие - откроется окно, в котором можно напечатать фрагмент кода, который должен быть выполнен. Он может содержать простые вызовы функций или более сложный код. Используйте это действие для использования небольших фрагментов кода. Для длинных фрагментов настоятельно советуем использовать сценарии, которые частично описываются во второй части документации.

Comment (Комментарий)
Используйте это действие, чтобы добавить строку комментария к списку действий. Строка будет отображаться курсивным шрифтом. Действие ничего не делает при выполнении события. Но поймите, что это всё ещё действие. Когда Вы устанавливаете это действие после условного действия, то это действие будет выполнено, если условие будет являться истиной (даже если оно ничего не делает).

Set Variable (Установить значение переменной)
В игре имеется большое количество встроенных переменных. Используя это действие, Вы можете изменить их. Также Вы можете создавать свои собственные переменные и определять для них значения. Вы определяете название и новое значение переменной. Когда Вы включаете опцию Relative, то значение добавляется к текущему значению переменной. Обратите особое внимание, что это может быть сделано только в том случае, если значение переменной уже определено! Смотрите ниже для получения дополнительной информации о переменных.

Test Variable (Если переменная имеет значение)
Этим действием Вы проверяете, имеет ли переменная конкретное значение. Если значение переменной является предусмотренному числу, то вопрос возвращает истину. В противном случае - возвращает ложь. Вы также можете указать проверку: проверить, когда значение меньше указанной величины, либо больше указанной величины. Дополнительную информацию о переменных смотрите ниже. В действительности, Вы можете использовать это действие для сравнения двух выражений.

Draw Variable (Рисовать значение переменной)
Используя данное действие, Вы можете рисовать значение переменной в конкретной позиции на экране. Отметьте, что это действие может быть использовано только в событии рисования объекта.