Выражения

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

Эти значки показывают, что поле принимает выражение.

Есть несколько типов выражений:

Вы можете переключаться с чисел на текст или с текста на числа с функциями.
Полный список функциональных выражений, которые GDevelop предоставляет по умолчанию, см. в Expressions reference.

Числа

Когда рядом с полем появляется следующий значок, это поле принимает числовое выражение:

Числовое выражение - это число.

Следующие значения являются примерами числовых выражений:

  • 0
  • -10
  • 25.5

Вы также можете использовать математические операторы для сложения, вычитания, умножения и деления чисел:

  • 2+2
  • 3-1
  • 10*10
  • 99/3

Это полный список операторов:

  • + (добавить)
  • - (вычесть)
  • * (умножить)
  • / (подилить)
В одном выражении можно использовать несколько операторов.

Текст

Когда рядом с полем появляется следующий значок, это поле принимает выражение текста:

Текстовое выражение - это строка текста.

Следующие значения являются примерами текстовых выражений:

  • "Привет мир!"
  • "Это текстовое выражение"
  • "GDevelop это круто!"

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

Вы можете использовать оператор + для объединения двух или более строк текста. Например, «Привет» + «Мир» превращается в «ПриветМир». Остальные операторы недопустимы при работе с текстом.

Функции

Часто необходимо вычислять сложные значения, с которыми математические операторы не могут справиться. Например, если событие влияет на положение игрока, игра должна динамически вычислять координаты X и Y игрока.

Вот здесь и пригодятся функции.

Вы можете использовать функции для динамического вычисления комплексных значений во время игры. Например, функции X и Y вычисляют координаты объекта:

ИмяОбъекта.X()
ИмяОбъекта.Y()

Использование функции часто называют вызовом функции.

Если вы знакомы с формулами в электронных таблицах, функциями в языках программирования или функциями в математике, знайте, что функции в GDevelop ведут себя аналогичным образом.

Синтаксис

Есть три типа функций:

  • Функции без объектов
  • Функции с объектами
  • Функции с объектами и поведением

Каждый тип функции немного отличается синтаксисом.

Функции без объектов

Некоторые функции существуют независимо от объектов и поведений. Для вызова этих функций ваша сцена не нуждается в каких-либо объектах или поведениях.

Вот несколько примеров функций без объектов:

  • CurrentSceneName() - Получите название текущей сцены.
  • FileSystem::DesktopPath() - Получите путь к каталогу «ПК».
  • ToNumber(<number>) - Преобразуйте строку в число.
GDevelop использует синтаксис :: для функций, связанных с * пространством имен *. Например, все функции файловой системы имеют префикс FileSystem ::. Это помогает организовать связанные функции. Синтаксис :: не влияет на поведение функции.

Функции с объектами

Некоторые функции вызываются для объектов. Это означает, что функция влияет на конкретный объект или извлекает данные о нем.

Вот несколько примеров функций с объектами:

  • <object>.Angle() - Получите угол объекта (в градусах).
  • <object>.Layer() - Получите имя слоя, на котором находится объект.
  • <object>.ObjectName() - Получите название объекта.

Функции с объектами и поведением

Некоторые функции вызываются для поведения объекта. Это означает, что функция влияет или извлекает данные о конкретном поведении, связанном с объектом.

Вот несколько примеров функций с объектами и поведениями:

  • <объект>.Pathfinding::Speed()
  • <объект>.Physics2::Friction()
  • <объект>.PlatformerObject::Gravity()

Arguments

Некоторые функции принимают аргументы. аргумент - это значение, которое:

  • можно передать в функцию
  • влияет на вывод функции

Например, функция ToString преобразует число в строку, но ничего не может сделать, если вы не предоставите ей число. Это число - аргумент. В следующем примере аргументом является число 42:

ToNumber(42)

Некоторые функции, такие как функция MouseX, принимают несколько аргументов:

MouseX(слой, камера)

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

Возвращаемые значения

Когда функция вычисляет значение, она возвращает это значение. Это значение является выходом функции. Например, если координата X объекта равна 42, функция ObjectName.X () возвращает 42.

Функции могут возвращать числа или строки. Тип значения, возвращаемого функцией, определяет, можно ли использовать функцию в поле. Например, функция ToString возвращает строку, поэтому ее нельзя использовать в поле, которое ожидает число, а функция ToNumber возвращает число, поэтому ее нельзя использовать в поле, которое ожидает текст.