Понятия

Основные понятия GDevelop просты. Прежде чем начать работу с программой, прочитайте следующие объяснения.

Система координат

Объекты на сцене имеют X и Y координаты, соответствующие горизонтальному (ось X) и вертикальному (ось Y) положениям на Координатной плоскости.

Координаты мыши отображаются в статус-баре Редактора Сцены:

Как показано ниже, координата X уменьшается по мере движения влево и увеличивается по мере движения вправо, а координата Y уменьшается по мере движения вверх и увеличивается по мере движения вниз.

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

При использовании таких тригонометрических функций, как синус или косинус, обратите внимание на то, что вы должны будете выразить углы в радианах. ( 1 радиан = 180/ПИ градусов и 1 градус = ПИ/180 радианов, число ПИ приблизительно равно 3.14159 )


Выбор объектов в событиях

Большинство условий и действий относятся к объектам: условия для проверки, а действия для изменений. Действия без условий будут относиться ко всем объектам. Если вы впервые используете объект в событии, GDevelop будет проверять или изменять все объекты в сцене с этим именем. Если вы снова используете объект в этом же событии, GDevelop будет проверять и изменять только те объекты, которые были выбраны на предыдущих условиях.

Этот процесс - простое применение логики. Это событие будет удалять все объекты названные “Square”:

Это событие удалит только те объекты “Square”, координата X которых меньше 100 пикселей:


События: важен порядок

Порядок событий важен: события выше - выполняются первыми. Потому эффект от следующих событий не идентичен:

Первая пара создаст объект “Square” в позиции 200;100, а затем удалит его. Никакой “Square” не отобразится на экране.
Вторая пара удалит все объекты “Square” на экране, а затем создаст один “Square” в позиции 200;100, таким образом “Square” останется видимым.


Перемещение объектов, используя встроенные силы

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

Вы можете указать декартовы координаты силы (то есть X и Y, в пикселях), его полярные координаты (угол вектора силы и длину), и дисперсия силы, коэффициент между 0 и 1. Каждую секунду, длина силы будет умножаться на дисперсию: значение 1 означает, что сила будет применяться постоянно, а значение 0 - заставит сразу остановить применение силы. Все промежуточные значения заставят силу постепенно останавливаться.

Пример

Допустим, вы хотите переместить объект вниз:

Вы можете добавить силу, используя координаты X/Y, определив 0 для X координат и, скажем, 150 пикселей для Y координат. Вы также можете использовать полярные координаты и добавить силу с углом 90° и длиной 150 пикселей.

Другие способы перемещения объектов

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


Переменные

Переменные позволяют вам хранить данные, например число или текст. Мы можем сравнить их с ящиками или коробками, где можно хранить записки. Могут храниться любые данные, пока они находятся в текстовом или численном формате: число оставшихся жизней, рекордный счет, количество оставшихся пуль, убитые враги, и т.д… Вероятно, вы будете часто использовать цифры.

Действия и условия проверяют или изменяют значения переменных.


Типы Переменных

Тип переменной определяет, где к переменной можно получить доступ. В GDevelop доступно три типа переменных:

Глобальные переменные доступны из всех сцен игры; например, они могут использоваться, чтобы сохранять счет игрока на протяжении всех уровней
Переменные Сцены доступны только из сцены. Они могут использоваться для данных, которые касаются только этой сцены, а не всей игры. Например время, которое осталось до взрыва
Переменные Объекта касаются только одного объекта. Например, у героя может быть переменная “Здоровье” или “Боеприпасы”.


Время, прошедшее с последнего кадра (TimeDelta)

Игра просчитывает события и перерисовывает экран несколько раз в секунду: мы говорим, что игра обновляется. То, как часто это происходит, зависит от ресурсов вашего компьютера: медленный компьютер может показывать 25 кадров в секунду, быстрый 140. GDevelop обычно предоставляет одинаковое значение на всех компьютерах, однако скорость некоторых операций может отличаться, например математические операции и рендеринг перемещений.

Чтобы сделать скорость изменений постоянной, используйте выражение TimeDelta(), которое возвращает время в секундах начиная с последнего кадра. Например, не делайте следующего:

Вместо этого сделайте так:

Первое событие добавляет 20 к переменной каждый раз, когда обновляется игра (т.е. как можно чаще). Это не верно, если использовать такое событие, то скорость увеличения переменной не будет одинаковой на разных компьютерах: например, мы не сможем предсказать значение этой переменной после 10 секунд.
Второе событие правильное и надежное: число 300 умножается на TimeDelta(). Таким образом, переменная будет увеличиваться с одной скоростью на разных компьютерах. Поскольку TimeDelta() возвращает время в секундах, это позволит вам просчитать точное значение: в нашем случаи, переменная увеличивается на 300 единиц в секунду. Таким образом, мы можем быть уверены, что через 10 секунд у переменной Life будет значение 3000.

Не забудьте использовать TimeDelta, если захотите все время добавлять некоторое число к значению.
Нет необходимости использовать TimeDelta(), когда вы двигаете объект, используя силы, так как GDevelop автоматически использует ее.


И это почти все, что нужно знать

Вы можете продолжить читать страницу "С чего начать" чтобы перейти к обзору интерфейса GDevelop.