Expressions (Выражения)


Многие действия и условия имеют параметры, прописанные с помощью выражений. Например, в условии Every X Milliseconds (Каждые Х миллисекунд), выражение показывает количество миллисекунд. Это может быть число, например 1000, или более сложное вычисление (математическое выражение).

Основные правила и знаки

В выражениях текст должен быть в кавычках " " и выстраиваться внутри { }. Далее внизу список основных знаков (операторов), которые используются в выражениях и вычислениях.

Оператор Значение Пример
+ Добавление 5 + 2
- Вычитание 5 - 2
* Умножение 5 * 2
/ Деление 10 / 2
% Модуль (процент) — остаток от деления 43% 10 (= 3)
^ Степень (Во сколько раз увеличить) 8 ^ 2 (= 64)
() Скобки (переопределяют порядок операций) 2 * (3 + 4)
=, <> Тестирует равенство/неравенство a = b
<, <=, >, >= Тестирует — меньше чем, меньше или равно, больше чем, больше или равно a < b
&, and Логическое И (AND) a = b и c = d
or, Логическое ИЛИ (OR) a = b или c = d
& Объединение двух строчек (например, когда надо написать текст, а потом значение здоровья, которое постоянно меняется) "Здоровье: " & Counter.Value
at, @ Определить доступ куда-нибудь {1, 7, 4} at 2 (= 7)
?: Условно a = b? "A равно B": "A не равно B"

Построение строчек со знаком &

Знак & очень полезен для комбинации чисел в строчках. Он автоматически конвертирует любые цифры в строчку и добавляет их. Например, вместо:

"Осталось " + str(Player('lives')) + " жизней!"




Вы можете использовать оператор & как тут:

"Осталось " & Player('lives') & " жизней!"

Выражения объектов

Большинство плагинов имеют свои собственные выражения, которые вы можете использовать, чтобы получить информацию об объекте. Вы можете дважды кликнуть на объекте на панели объектов внизу выражения, чтобы увидеть весь их список. Простой пример выражения — Sprite.X, который получает Х координаты спрайта.

Выражения объектов состоят из имени объекта и названия выражения, отделенное точкой, например, Sprite.X. Системные выражения не имеют имени или запятой, например WindowWidth (ширина игрового окна).

Многие выражения также используют параметры, значения которых разделены запятой и объединены в скобки после имени выражения. Простой пример — max(3, 8, 6), который получает наибольший параметр (8).

Самовыражения ('Self' expressions)

Как сокращение, вы можете использовать имя объекта 'Self' в выражении, чтобы сослаться на сам объект. Например, в действии спрайта Set X co-ordinate (установить Х координату), имя 'Self' сошлется на сам спрайт. Это означает что Self.X выдаст Х координату текущего объекта, а настройка Self.X + 5 передвинет объект на 5 пикселей вправо.

'Self' не может ссылаться на системный объект, поэтому не может использоваться в системных действиях и условиях.

Как другое сокращение, вы можете просто пропускать 'Self' и писать так: .X + 5

В контексте условия или действия со спрайтом, это выдаст X координату со сдвигом в 5 пикселей вправо. В этом случае 'Self' просто подразумевается: .X означает Self.X, но вы просто пропускаете написание Self.

Выражения объектов по умолчанию

Приватные переменные можно получить следующим образом:

Sprite.Value ('мое значение')

Запомните, что нужно использовать 'единичные скобки' для названий переменных и "двойные скобки" для текста. Спрайт тоже имеет сокращение для доступа к приватным значениям:

Sprite ('мое значение')

Обратите внимание на пропуск точки и имени выражения. Использование имени объекта напрямую, с параметрами в выражении подобно этому, относится к выражениям объекта по умолчанию. Многие объекты используют их в качестве ярлыка для получения более полезного значения: используя имя объекта Text (Текст) на нем самом, вы получаете установленный в нем текст, Counter (Счетчик) получает значение счетчика, а Array(3), Array(4, 8) и Array(1, 2, 3) — это всё примеры получения элементов объекта Array (Массив).

Запомните, каждый плагин определяет свое собственное выражение, поэтому не все плагины могут получить приватные переменные, как это может делать объект спрайта.

Автор перевода: Mary Jane

Опубликовано: 28 мая, 2010

Категория: События

Комментарии:

  1. Nick2000:

    Полезная информация. =)

  2. Jeckan:

    А можно ли както в конструкт видео ролики добавить ???

  3. val:

    =) потрясающий урок. Вспомнил старый добрый паскаль