Выражения в Construct 2

  • 0 favourites

Операторы

В выражениях доступны следующие операторы:

+ (прибавление)

- (вычитание)

[*] (умножение)

/ (деление)

% (по модулю, остаток от деления)

^ (Возведение в степень, к примеру, 5 ^ 2 = 25)

& (Сборка строки, например, "Ваш счет:" & Score)

Также есть операторы сравнения =, <>, <, <=,>,> = для сравнивания значений. Они возвращают 1, если сравнение true (истинно), или 0, если false (ложно).

& также подразумевается как логическое "И" и "|" является логическим оператором ИЛИ. Они полезны в сочетании с операторами сравнивания, например, score <0 | health<0, что также возвращает 1, если истинно и 0, если ложно.

?: это тернарный оператор, который позволяет проверить условия в выражениях. Это особенно полезно при использовании операторов сравнивания и логических операторов. Он принимает форму - состояние ? результат_если_истинна : результат_если_ложно

например здоровье <0 | счёт <0? "Игра окончена!" : "Продолжить!".

(condition ? result_if_true : result_if_false e.g. health < 0 | score < 0 ? "Game over!" : "Keep going!".)

Условие считается истинным, если оно не равно нулю, и ложно, если оно равно нулю.

Строки(текст)

Текст в программировании известный как строки, и Construct 2 тоже иногда использует эти именования. Текст в выражениях должен быть окружён двойными кавычками, например, "Hello!".

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

Вы можете использовать & для создания строки из текста и цифр, например, "Ваша оценка:"& Score.

Стандартные математические выражения

Полный список выражений можно найти в самой Construct 2: дважды щелкните на объект System в плавающей панели выражения, когда Вы печатаете там. Однако некоторые из них перечислены здесь.

sin (синус угла в градусах)

cos (косинус угла в градусах)

tan (тангенс угла в градусах)

asin (арксинус, возвращает градусы)

acos (арккосинус, возвращает градусы)

atan (арктангенс, возвращает градусы)

sqrt (квадратный корень)

abs (абсолютное значение)

exp (экспонента, е ^ х)

ln (логарифм по основанию е)

log10 (логарифм по основанию 10)

Не стоит забывать, что Construct 2 всегда использует градусы, а не радианы. Если вам нужен угол, то в Construct 2 это будет в градусах.

Преобразование выражений

int(x) - преобразовывает х в целое значение

float(x) - преобразовывает х в число с плавающей запятой

str(x) - преобразовывает х в строку

Не забывайте использовать & для создания строк, т.е. "Ваш счёт: " & score вернёт "Ваш счёт: 10" в виде строки, если score=10.

Другие выражения

Angle(x1, y1, x2, y2) - Вернёт угол в градусах между (x1, y1) и (x2, y2), используя atan2(y2 - y1, x2 - x1).

Ceil(число) - Округление числа вверх, например, ceil(6.1) возвращает 7.

Distance(x1, y1, x2, y2) - Вернёт расстояние между (x1, y1) и (x2, y2).

dt - Delta-time. Смотри Delta-time and framerate independence.

Floor(число) - Округление числа вниз floor(6.7) вернёт 6.

fps - Частота кадров за секунду.

len(x) - Вернёт длину строки x

Lerp(a, b, x) - Линейная интерполяция: высчитываетaет а + x(b - a), или линейно интерполируя a в пункт b на x%. То есть, lerp(a, b, 0.25) даст 25% от значения пути А к В.

LoopIndex - Текущий (top-level) индекс цикла.

LoopIndex("имя") - Индекс цикла от цикла имя

ObjectCount - Общее количество экземпляров объекта в игре.

Max(a, b [,c,...]) - Даст максимальное из заданных значений. Вы можете задать любое количество значений

Min(a, b [,c,...]) - Даст минимальное из заданных значений. Вы можете задать любое количество значений

Newline - разбиение текстовой строки "Hello" & newline & "World"

Random(N) - Вернёт случайное число от 0 до N, не включая N. В результат входят и дробные, так что random(3) вполне может вернуть 2.5. Используйте floor(random(n)) для генерации целого случайного числа, например floor(random(3))* вернёт или 1, или 2, или 0. Выражение Random(A, B) может быть использовано для получения случайного числа между А и В.

Round(value) - Округляет число к ближайшему целому Round(6.8) даст 7

Scrollx, Scrolly - Текущая позиция скролинга

Timescale - Временная шкала. Смотри Delta-time and framerate independence.

Time - Время в секундах от начала игры.

TickCount - Количество тиков? от начала игры.

Не забывайте проверять выражения в панели Construct 2 для получения более полного списка.

Полезные выражения в других объектах

Mouse и Touch позволяют передавать параметры слоя для X и Y выражений. Это очень полезно, масштабировании и повороте слоёв.

Например Mouse.X ("Layer 1") возвращает X-позицию мыши на слое 1, чтобы высчитать параллакс этого же слоя, а так же масштаб и угол. Если вы используете только Mouse.X, то он не примет во внимание параллакс, масштаб или угол, так что результат может быть непредсказуемым.

Объект индексирования в выражениях

Добавив 0 индекс, вы получите нулевую по счёту копию объекта из всех существующих.

Например Sprite(0).X получает позицию по Х первой копии объекта, и Sprite(1).X получает положение по Х второй копии. Также, можно передавать и другие выражения для индекса. Отрицательные числа начинаются с противоположного конца, поэтому Sprite(-1).X получает позицию по Х последнего спрайта.

Всё это может быть применено к любому объекту, а не только к спрайтам.

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!