Table of Contents Понятия Система координат Выбор объектов в событиях События: важен порядок Перемещение объектов, используя встроенные силы Пример Другие способы перемещения объектов Переменные Типы Переменных Время, прошедшее с последнего кадра (TimeDelta) И это почти все, что нужно знать Понятия Основные понятия 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.