Объект "System"

Системный объект — это встроенный в Construct объект, который не имеет копий, специфических свойств и не расположен нигде на уровне, он существует в каждом приложении.

Он представляет собой движок Construct как таковой, обеспечивая доступ к уровням, слоям, экрану, скриптам Python, эффекту Motion blur (размытие движения), глобальным значениям, таймерам и другим полезным функциям, например, сравнение значений.

Условия объекта System

Collisions (Столкновения)

Is overlapping (advanced) (когда объект наезжает на другой (расширенные настройки) — когда объект заезжает на территорию другого объекта.


  • Object A (объект А) — выбрать первый объект для столкновения
  • Pick object A? (указать объект А) — нужно ли указать объект А в действиях
  • Pick — выбрать
  • Don’t pick — не выбирать.
  • Object B (объект В) — выбрать второй объект для столкновения
  • Pick object B? (указать объект B) — нужно ли указать объект B в действиях (actions)
  • Pick — выбрать
  • Don’t pick — не выбирать.

Примечание: если вы выберите Pick, то во вкладке действий к этому условию появится действие Collision mode (выбрать режим столкновения). Если поставить Don’t pick, то такой вкладки у объекта в действиях не появится.

On collision (advanced) (Столкновение объектов (расширенные настройки) — когда объект сталкивается с другим объектом.

  • Object A (объект А) — выбрать первый объект для столкновения
  • Pick object A? (указать объект А) — нужно ли указать объект А в действиях
  • Pick — выбрать
  • Don’t pick — не выбирать.
  • Object B (объект В) — выбрать второй объект для столкновения
  • Pick object B? (указать объект B) — нужно ли указать объект B в действиях (actions)
  • Pick — выбрать
  • Don’t pick — не выбирать.

Object overlaps point (объект заходит на точку) — определяет, когда объект заходит на указанную точку с X и Y координатами.

  • Object (объект) — какой объект сталкивается.
  • Point X (точка Х) — координата X.
  • Point Y (точка У) — координата Y.

Object collides with point (объект сталкивается с точкой) — срабатывает единожды, когда объект зашел на точку с Х и Y координатами первый раз.

  • Object (объект) — какой объект сталкивается.
  • Point X (точка Х) — координата X.
  • Point Y (точка У) — координата Y.

Display (Дисплей)

Motion blur supported (поддерживается ли размытие движения) — тестирует, поддерживает ли система пользователя эффект Motion Blur (размытие движения). Motion Blur активируется в Aplication Properties (свойствах приложения). В Construct эффект Motion Blur использует временное сглаживание, которое работает следующим образом: сначала рендерит несколько кадров, а затем объединяет их. Он «пробегает» по списку событий и рендерит сцену дополнительное количество раз для достижения нужного эффекта. Что в результате очень нагружает CPU / GPU.

Loops (Зацикливания)

Условия Loops (Зацикливания) показываются зеленой закругленной стрелкой. Когда делаете предпросмотр приложения (но не в уже экспортированных приложениях), вас уведомят, когда зацикливание достигнет 1 миллиона итераций (повторов), в случае, если зацикливание бесконечно, или произошло слишком много раз. Это может произойти когда, например, While loop заканчивает работать бесконечно.

On Loop (зациклен) — включается системным действием Start Loop (начать зацикливание).

  • Name (имя) — имя цикла, который был включен действием Start Loop (начать зацикливание).

While (пока идет зацикливание/ в то время как) — бесконечные зацикливания условий и действий не заканчиваются, пока одно из последующих условий не станет ложью (false). Поэтому, чтобы предотвратить зависание приложения из-за бесконечного зацикливания — действия в событии должны включать системное условие Break (разбить), чтобы прекратить действие зацикливания. Или одно из действий должно иметь возможность фальсифицировать одно из условий, т.е не состояться.

For (для) — повторить для ряда чисел.

  • Name (имя) — имя цикла.
  • Start (начало) — число для начала.
  • End (конец) — число, на котором заканчивается (включительно).

Repeat (повторить) — повторить действия и подсобытия определенное количество раз.

  • Count (число) — число повторений.

For Each Object (для каждого объекта) — повторить действия и подсобытия один раз для каждой копии (Instance) объекта. Каждый повтор будет выбирать текущую копию (instance) в событиях, таким образом, действия будут применяться к текущему объекту.

  • Object (объект) — объект или семья (Family) для повтора.

For Each Object (ordered) (для каждого объекта (по порядку)) — повторить действия и подсобытия один раз для каждой копии (Instance) объекта в специфическом порядке. Каждый повтор будет выбирать текущую копию (instance) в событиях, таким образом, действия будут применяться к текущему объекту.

  • Object (объект) — Объект или семья (Family) для повтора.
  • Order expression (порядок выражения) — выражение, определяющее порядок, в котором копии объекта (instances) повторяются. Например, если вы выбираете спрайт как объект, введите Sprite.X, чтобы повторить копии объекта слева направо (если выбрано Ascending (возрастающий порядок)).
  • Mode (режим) — выберите Ascending (возрастающий порядок), чтобы повторить копии от самого нижнего выражения до самого высокого; или Descending (нисходящий порядок), чтобы от высокого к самому низкому.

Script (Скрипт)

Python Compare (сравнить скрипт Python) — сравнивает число функции Python с заданным значением.

  • Python statement string (строчка Python) — строчка со значением или функцией Питона.
  • Comparison (сравнение) — как сравнить.
  • Value 2 (значение) — значение, с которым сравнить.

Special conditions (Специальные условия)

Else (еще) — используйте в качестве первого условия в событии. Оно тестирует, было ли последнее событие ложью. Другими словами, запускается, когда предыдущее событие не состоялось.

OR (или) — используйте его между условиями в событии. Оно должно быть хотя бы между двух условий, но не первым и не последним в событии. Оно тестирует — является ли правдой условие. В отличие от обычного исполнения, где все условия должны быть правдой, чтобы событие сработало, тут достаточно, чтобы правдой было хотя бы одно.

Trigger once while true (включить один раз когда правда) — используйте как последнее условие в событии. Если условия события каждый раз являются правдой, то это условие сделает их правдой только один раз.

Это заставляет бесконечно происходящие события действовать как триггеры (переключатели). Например, Global variable X = 0 (глобальное значение Х равно нулю) будет срабатывать каждый раз. Добавляя условие Trigger once (сработать единожды) после него, приведет к тому, что событие сработает только один раз, когда глобальное значение X станет 0.

Start & End (Начало и Конец)

Start of layout (старт уровня) — срабатывает единожды, когда Layout (уровень) начинается.

End of layout (завершение Layout) — срабатывает единожды, когда завершается Layout (уровень), то есть, когда приложение выходит из текущего уровня или когда игра переключается на другой Layout.

End of application (завершение приложения) — срабатывает единожды, когда приложение завершает свою работу, НО НЕ когда переходит на другой Layout (уровень).

System (Система)

Every tick (каждый кадр) — событие запускается каждый раз, когда выполняется список событий. Читайте статьи Conditions и Ticks. Добавление этого условия к событию с другими условиями не имеет эффекта, потому что событие не делает ничего кроме оценки правды (true) (т.е. является ли правдой).

Примечание: перестановка, переворот, ускорение, увеличение значений в событии с «every tick» — плохая практика, потому что частота тиков равняется частоте кадров в приложении. Смотрите TimeDelta.

Compare global variable (сравнить глобальную переменную) — сравнивает глобальную переменную.

  • Variable (переменная) — выбрать значение для сравнения.
  • Comparison (сравнение) — как сравнивать глобальное значение.
  • Compare to (сравнить с) — введите строчку или число с которым нужно сравнить.

On load (при загрузке) — срабатывает, когда приложение завершило загрузку из сохраненного состояния, например, после быстрого сохранения или загрузки из файла. Полезно для показывания какого-нибудь сообщения, типа «Приложение загружено».

On device reset (при перезагрузке устройства) — cрабатывает, когда в DirectX приложениях происходит следующее:

  • Полноэкранное приложение переключили с помощью Alt+Tab, а потом опять открыли;
  • Другое полноэкранное DirectX приложение открыли поверх вашего оконного приложения;
  • Приложение переключается между полным экраном и оконным режимом;
  • Используется действие Change display resolution (сменить разрешение экрана);
  • Изменяется размер окна или максимизируется в режим Show more content (показать больше контента).

Эти условия могут создать ситуацию под названием «потерянное устройство», когда DirectX теряет все текстуры приложения, шрифты и т.п. В большинстве случаев приложение само автоматически восстанавливает всё. Но некоторые объекты типа текстур Minimap Object — теряются. Вы можете использовать эту текстуру, чтобы регенерировать потерянные текстуры, например вызовом другого действия Draw terrain (рисовать местность).

Time (Время)

Every X milliseconds (каждые Х миллисекунд) — cрабатывает единожды через каждый заданный интервал времени. Интервал времени зависит от Time scale (масштаба времени), смотрите Time Scaling, чтобы узнать больше.

  • Milliseconds — интервал времени, в миллисекундах.

Every X ticks (каждый кадр) — cрабатывает один раз на каждом кадре. Читайте Ticks.

  • Ticks (кадры) — количество кадров между срабатыванием.

Compare time (сравнить время) — сравнивает игровой таймер (время с начала запуска приложения), который стартует с 0 и считается в миллисекундах.

  • Comparison (сравнение) — выберите способ, которым сравнить системный таймер.
  • Milliseconds (миллисекунды) — время в миллисекундах, с которым сравнить.

Values (Значения)

Compare (сравнить) — сравнивает два любые значения.

  • Value 1 — значение 1.
  • Comparison — выберите способ, которым сравнить значения 1 и 2.
  • Value 2 — значение 2.

Evaluate (вычислить/оценить) — это условие оценивает, вычисляет, что это правда, если данное выражение не есть 0. Выражения or (или) и and (и) могут быть здесь полезны. Например, (a = b или c = d) и (e < f).

  • Evaluate (выражение) — выражение для вычисления.

Value is of type (значение типа …) — тестирует тип значения (value).

  • Value (значение) — значение, которое тестируем.
  • Type (тип) — тип тестирования.

Number is between (число между..) — тестирует, находится ли число между значениями.

Angle is clockwise of... (угол по часовой стрелке) — тестирует, чего быстрей достичь, поворачиваясь по часовой стрелке или, наоборот, против.

Действия объекта System

Application (Приложение)

Next Layout (следующий Layout) — переходит к следующему Layout. Если текущий Layout последний, то приложение закрывается.

Previous Layout (предыдущий Layout) — переходит к предыдущему Layout. Если текущий Layout первый, то приложение закрывается.

Go to Layout (перейти к Layout) — переходит к определенному Layout, используя переход и продолжительность. Если указан переход к текущему Layout, то он перезапускается.

Layout to (Перейти к …)

  • Transition (переход) — какой переход использовать.
  • Duration (продолжительность) — указывается в миллисекундах, только если есть переход.

Close (закрыть) — закрывает приложение.

Cancel close (отменить закрытие) — отменяет попытку закрыть приложение.

End modal layout (завершает модальный Layout) — если текущий Layout модальный, то это действие завершает его.

Set fixed FPS rate (установить фиксированный размер FPS) — если FPS фиксированный, то опция устанавливает максимальный FPS. Если игра работает плохо, то FPS может опускаться ниже этого числа.

  • Set FPS — установить число FPS.

Save/load to disk (сохранить/загрузить на диск) — cохраняет/загружает состояние текущего приложения на/с диска.

  • Operation (операция) — Save/Load (сохранить/загрузить)
  • File (файл) — строчка, которая содержит файл для сохранения/загрузки.

Quicksave/Quickload (быстрое сохранение/загрузка) — cохраняет/загружает состояние текущего приложения в память.

  • Save/Load (сохранить/загрузить) — Quicksave/Quickload (быстро сохранить/быстро загрузить)

Create (Cоздать)

Если вы выбираете Family (семью) в действии Create Object (создать объект), то тогда это действие создаст произвольный объект из типов в этой семье.

Create object (создать объект) — cоздает выбранный объект на определенном слое, в определенной точке.

  • Object (объект) — объект, который нужно создать.
  • Layer (слой) — слой, на котором создать объект.
  • X co-ordinate (координата Х) — значение точки по Х, где создать объект.
  • Y co-ordinate (координата У) — значение точки по У, где создать объект.

Create object by name (создать объект по имени) — cоздает объект с заданным именем на определенном слое, в определенной точке.

  • Object (объект) — объект, который нужно создать.
  • Layer (слой) — слой, на котором создать объект.
  • X co-ordinate (координата Х) — значение точки по Х, где создать объект.
  • Y co-ordinate (координата У) — значение точки по У, где создать объект.

Create object relative to object (создать объект относительно другого объекта) — создает объект на выбранном слое, с заданными координатами относительно другого объекта.

  • Object (объект) — объект, который нужно создать.
  • Layer (слой) — слой, на котором создать объект.
  • X offset (сдвиг по Х) — число которое добавить к позиции по Х другого объекта.
  • Y offset (сдвиг по Y) — число которое добавить к позиции по Y другого объекта.
  • Object to position to (объект, относительно которого выбирается позиция) — объект, относительно которого располагается новый объект.

Create object at image point (создать объект в точке) — создает объект в указанной Image point (точка изображения) другого объекта.

Display (Дисплей)

Scroll to X (скроллинг по Х) — скроллинг дисплея по Х координате.

  • X — значение Х, относительно которого скроллинг.

Scroll to Y (скроллинг по Y) — скроллинг дисплея по Y координате.

  • Y — значение Y, относительно которого скроллинг.

Scroll to object (скроллинг относительно объекта) — скроллинг относительно расположения выбранного объекта.

  • Object (объект) — объект, относительно которого скроллинг.

Set display angle (установить угол дисплея) — устанавливает угол дисплея.

  • Angle (угол) — заданный угол.

Set global filter (установить глобальный фильтр) — устанавливает глобальный фильтр.

  • Filter (фильтр) — фильтр, который установить.

Set zoom (установить зум (увеличение)) — устанавливает зум. 100 — нормальный. 200 — это 200% и т.д.

  • Zoom (увеличение) — сколько процентов.

Set layout size (установить размер уровня) — устанавливает размер уровня.

  • Width (ширина) — установить новый параметр ширины.
  • Height (высота) — установить новый параметр высоты.

Set display resolution (установить разрешение экрана) — устанавливает разрешение экрана.

  • Width (ширина)
  • Height (высота)

Set motion blur (установить эффект размытия движения) — включает или выключает различные настройки Motion Blur.

  • Off (выключить) — выключить Мotion blur.
  • 2x-20x — задать настройку Мotion blur.

Set full screen (включить приложение на весь экран) — включает и выключает запуск приложения на весь экран.

Event groups (Группы событий)

Set group enabled (включить группы событий) — включить или выключить группы событий.

  • Enable (включить) — выбрать статус группы (вкл/выкл.)
  • Group name (имя группы) — имя группы для редактирования.

Global variables (Глобальные значения)

Set value (установить значение) — установить глобальное значение.

  • Variable (переменная) — значение (название), которое редактируется.
  • Value (значение) — число, которое присвоить глобальному значению.

Add to value (прибавить к значению) — добавить к глобальному значению.

  • Variable (переменная) — значение (название), к которому добавляется.
  • Value (значение) — число, которое добавить к глобальному значению.

Subtract from value (вычесть из значения) — вычесть из глобального значения.

  • Variable (переменная) — значение (название), из которого вычитается.
  • Value (значение) — число, которое вычитается из глобального значения.

Layers (Слои)

Set scroll X ratio (установить соотношение скроллинга по Х) — устанавливает соотношение скроллинга по Х для достижения эффекта параллакс (сдвига). 100 — нормально, 200 — 200%, и т.д.

  • Layer (слой) — слой, которому установить.
  • Scroll X Ratio (соотношение скроллинга по Х) — новое соотношение по Х

Set scroll Y ratio — устанавливает соотношение скроллинга по Y для достижения эффекта параллакс (сдвига). 100 — нормально, 200 — 200%, и т.д.

  • Layer (слой) — слой, которому установить.
  • Scroll Y Ratio (соотношение скроллинга по Y) — новое соотношение по Y

Set zoom (установить увеличение) — устанавливает увеличение по Х и Y слоя. 100 — нормально, 200 — 200% и т.д.

  • Layer (слой) — слой, которому установить
  • X Zoom Ratio — новое Х отношение.
  • Y Zoom Ratio — новое Y отношение.

Set zoom offset (установить сдвиг зума)пока не поддерживается.

  • Layer (слой)
  • X Ratio (значение Х)
  • Y Ratio (значение Y)

Set visible (установить видимость) — переключает видимость слоя.

  • Layer (слой) — слой, которому установить.
  • Visibility (видимость) — переключить видимость слоя.

Set opacity (установить прозрачность) — устанавливает прозрачность (полупрозрачность) слоя.

  • Layer (слой) — слой, которому установить.
  • Opacity (прозрачность) — значение прозрачности слоя от 0 (невидимый) до 100 (непрозрачный)

Set colour filter (установить цветной фильтр) — установить цветовой фильтр слою.

  • Layer (слой) — слой, которому установить.
  • Filter (фильтр) — новый цвет фильтра.

Loops (Зацикливания)

Start loop (начать зацикливание) — запускает цикл и приводит в действие соответствующее системное условие On Loop заданное число раз.

  • Name (имя) — имя Loop для старта.
  • Count (число) — количество раз зацикливания

Stop loop (остановить зацикливание) — останавливает цикл до того, как он закончится.

  • Name (имя) — имя Loop для остановки.

Break (прервать) — прерывает текущий цикл.

Script (Скрипт)

Run script (запустить скрипт) — запускает Python script.

  • Python Script (скрипт Питон) — команда для запуска.

System (Система)

Flush clipboard (сбросить буфер обмена) — сбрасывает буфер обмена.

Set clipboard text (установить текст буфера) — устанавливает текст буфера.

  • Text (текст) — установить новый текст.

Write to INI file (записать в INI файл) — редактирует записи в INI файле.

  • INI — путь к INI файлу для редактирования.
  • Group (группа) — группа записей для редактирования.
  • Item (предмет) — запись для редактирования.
  • Text (текст) — текст для записи.

Play sound (играть звук) — проигрывает звук (для игр лучше используйте DirectSound Object)

  • Filе (файл) — путь к файл для проигрывания.
  • Flags (метки) — метки для проигрывания.

Message box (окно сообщений) — показывает окно сообщений, когда прерывается приложение.

  • Message (сообщение) — текст, который показать в окне сообщений.
  • Title (название) — название окна сообщений
  • Buttons (кнопки) — кнопки которые показать в окне сообщения (Yes/No or Yes/No/Cancel) (Да/нет или Да/нет/отмена)
  • Icon (значок) — значок, который показать в окне сообщения (Ошибка показывается как X, «Внимание!» показывается как !)

Time (Время)

Set time scale (установить масштаб времени) — установка Тime scaling в приложении используется для эффектов замедления и ускорения движения. 0.5 соответствует половине скорости замедленного движения. Для большей информации смотрите Time Scaling.

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

Объект System (Система) содержит много встроенных выражений для выполнения общих задач. Все они перечислены здесь. Системные выражения пишутся без имени объекта, например max(a, b, c). Перед ним нет надписи "System", потому что в Construct это недопустимое имя.

Colors (Цвета)

RGB(R, G, B) — получает одно значение, описывающее цвет с учетом красного, зеленого и синего (RGB).

GetRed(RGB) (получить красный RGB) — получает значение красного (между 0 и 255).

GetGreen(RGB) (получить зеленый RGB) — получает значение зеленого (между 0 и 255).

GetBlue(RGB) (получить голубой RGB) — получает значение голубого (между 0 и 255) .

Display (Экран)

DisplayAngle (угол экрана) — получает угол показываемого уровня.

DisplayDevice (видео устройство) — получает текст, описывающий видеокарту, установленную в системе, например, "NVIDIA GeForce 8800 GT".

DisplayWidth (ширина экрана) — получает ширину экрана, а также разрешение экрана в полноэкранном режиме.

DisplayHeight (высота экрана) — получает высоту экрана, а также разрешение экрана в полноэкранном режиме.

Distance(x1, y1, x2, y2) (расстояние)
Distance({x1, y1}, {x2, y2}) (расстояние)

— получает расстояние между точками (x1, y1) и (x2, y2), используя теорему Пифагора (dx*dx, dy*dy).

ScrollX (скроллинг Х) — получает текущую Х координату в центре видимого экрана.

ScrollY (скроллинг Y) — получает текущую Y координату в центре видимого экрана.

ScrollXLeft (скроллинг слева) — получает горизонтальную позицию видимой левой границы Layout.

ScrollXRight (скроллинг справа) — получает горизонтальную позицию видимой правой границы Layout.

ScrollYTop (скроллинг сверху) — получает вертикальную позицию видимой верхней границы Layout.

ScrollYBottom (скроллинг снизу) — получает вертикальную позицию видимой нижней границы Layout.

VRam (видеопамять) — получает количество оставшейся свободной видеопамяти, в байтах. Это глобальное значение, поэтому полученное значение может быть ниже, если другое приложение тоже использует видеопамять, например, если открыт сам Construct IDE (то есть его среда разработки). В альтернативе, вы можете изменить параметр, чтобы найти следующее:

  • VRAM("usage") — сколько всего VRAM используется текущим приложением. Это все текстуры + задачи.
  • VRAM("textures") — сколько приблизительно VRAM используется текстурами спрайтов и объектов.
  • VRAM("targets") — сколько приблизительно VRAM используется 'render targets' (цели рендеринга), например, экран, каркас, проработка эффектов программы.

ZoomX (зум Х) — получает значение горизонтального зума. Значение 100 соответствует 100%.

ZoomY (зум У) — получает значение вертикального зума. Значение 100 соответствует 100%.

Layers (Слои)

LayerCount (количество слоев) — получает число используемых слоев.

LayerName(number) (имя слоя) — получает имя выбранного по номеру слоя.

LayerOpacity(number) (прозрачность слоя (номер))
LayerOpacity(layer_name) (прозрачность слоя (имя слоя))

— получает прозрачность выбранного слоя (значение 100 означает 100%)

LayerScrollRateX(number) (скроллинг слоя по Х (номер))
LayerScrollRateX(layer_name) (скроллинг слоя по X (имя слоя))

— получает значение скроллинга выбранного слоя в горизонтальном направлении (значение 100 означает 100%)

LayerScrollRateY(number) (скроллинг слоя по Y (номер))
LayerScrollRateY(layer_name) (скроллинг слоя по Y (имя слоя))

— получает значение скроллинга выбранного слоя в вертикальном направлении (значение 100 означает 100%)

LayerZoomX(number) (зум слоя Х (номер)
LayerZoomX(layer_name) (зум слоя Х (имя слоя)

— получает значение зума выбранного слоя в горизонтальном направлении (значение 100 означает 100%)

LayerZoomY(number) (зум слоя Y (номер)
LayerZoomY(layer_name) (зум слоя Y (имя слоя)

— получает значение зума выбранного слоя в вертикальном направлении (значение 100 означает 100%)

Loops (Зацикливания)

LoopIndex (показатель цикла) — получает текущий (наивысший) показатель цикла (зацикливания). Также получает показатель For Each (для каждого цикла).

LoopIndex(loop_name) (имя цикла) — получает показатель определенного цикла.

LoopLength (длина цикла) — получает текущую (наивысшую) длину цикла, т.е. количество его повторений.

LoopLength(loop_name) (имя лупа) — получает длину определенного цикла.

Mouse (Мышь)

MouseX (X координата мыши) — X координата мыши на текущем уровне. Если дополнительно ввести имя или номер слоя, например MouseX("Layer 1"), то можно получить Х координату в соответствии с зумом и масштабом уровня.

MouseY (Y координата мыши) — Y координата мыши на текущем уровне. Если дополнительно ввести имя или номер слоя, например MouseY("Layer 1"), то можно получить Y координату в соответствии с зумом и масштабом уровня.

Math (Математические выражения)

Стандартные математические функции

Это стандартные математические функции, которые могут быть использованы в выражениях:

  • sin (синус угла в градусах)
  • cos (косинус угла в градусах)
  • tan (тангенс угла в градусах)
  • asin (инверсированный синус угла, в градусах)
  • acos (инверсированный косинус угла, в градусах)
  • atan (инверсированный тангенс угла, в градусах)
  • sqrt (квадратный корень)
  • abs (абсолютное значение)
  • exp (степень, e^x)
  • ln (логарифм на базе «e»)
  • log10 (логарифм на базе 10)

Составляющая ^ может также использоваться, чтобы увеличивать силу. Для большей информации читайте статью Expressions.

Другие математические выражения

Angle(x1, y1, x2, y2) (угол)
Angle({x1, y1}, {x2, y2}) (угол)

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

AngleDiff(a, b) (разница углов) — получает разницу между двумя углами. Всегда работает по наименьшему углу и вокруг полного круга.

Ceil(number) округлить вверх — округляет число вверх (например, ceil(6.1) будет 7).

Clamp(Value, Lower bound, Upper bound)

  • Получает Value (значение), если оно между Lower bound (нижняя граница) и Upper bound (верхняя граница).
  • Получает Lower bound (нижнюю границу), если Value (значение) меньше Lower bound (нижней границы).
  • Получает Upper bound (верхнюю границу), если Value (значение) больше Upper bound (верхней границы).

Cosp(a, b, x) (интерполяция) — интерполяция косинуса от «a» до «b», x как процент (0.0 - 1.0).

Cubic(a, b, c, d, x) (кубическая интерполяция) — кубическая интерполяция, x как процент (0.0 - 1.0). Равняется lerp(qarp(a, b, c, x), qarp(b, c, d, x), x)

Floor(number) (округлить вниз) — округляет число вниз (например, floor(6.7) будет 6).

FormatDecimal(number, N) (десятичный формат) — получает строчку с заданным числом цифр после запятой (т.е. сколько десятков), например. FormatDecimal(5.7777, 2) выдаст 5.78

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

Linearaim(Bullet X, Bullet Y, Bullet Speed, Target X, Target Y, Target Speed, Target Angle) — получает угол, на который должен целится объект, чтобы выпустить пулю, пересекается с target's movement (т.е. целенаправленное движение). Это иногда называют направленным прогнозированием, и это лучше, чем стрельба пули непосредственно по своей цели.
Смотрите этот пример для демонстрации.

Qarp(a, b, c, x) (квадратичная интерполяция) — квадратичная интерполяция. Получает lerp(lerp(a, b, x), lerp(b, c, x), x)

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

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

Random(N) (произвольно) — получает произвольное число между 0 и N, не включая N, например, Random(3) выдаст одно из 0, 1, 2). Если N - дробное число, то сгенерируется также дробное число, не включая N, например, Random(1.0) выдаст число (0,1)

RotateAngle(start, end, step) (угол поворота) — поворачивает угол 'start' в сторону 'end' на количество 'step' градусов. Выражение эквивалентно действию Rotate towards position (поворачивать вокруг позиции).

Round(value) (округление) — округляет значение до ближайшего целого, например, Round(6.8) выдаст 7.

Sign(x) (знак) — получает x / abs(x) если x != 0, также 0.

ZeroPad(number, N) — получает строчку с заданным числом (number) с N количеством ведущих нулей (где число меньше N цифр). Например, ZeroPad(56, 6) выдаст "000056".

Python

Python(string) (строчка питона) — получает значение скрипта питона или функции.

Text (Текст)

Find(source, string [, start]) (найти строчку) — получает индекс первого появления строчки(string) в источнике (source), опционально предоставляя индекс, как индекс начала поиска.

GetToken(string, N [, delimiter]) (получить знак) — получает N-ый знак в строчке, используя разделитель. Разделитель по умолчанию, запятая (,) если вы не назначите ваш собственный. Например: GetToken("a,b,c", 2) получит "b", GetToken("one|two|three|four", 2, "|") получит "two"

Len(string) — получает количество знаков в строчке.

Left(string, N) — получает строчку с N-ым количеством знаков слева, например, Left("Hello", 2) получит "He".

LowerCase(string) (нижний регистр) — преобразует строку в нижний регистр.

Mid(string, index, N) — получает N-ое количество знаков в строчке(string) после индекса (index).

NewLine (новая линия) — строчка, содержащая разрыв (пробел). Например, "Hello" & NewLine & "World"

NumTokens(string [, delimiter]) — получает количество знаков в строке, используя разделитель. Разделитель по умолчанию, запятая (,) если вы не назначите ваш собственный. Примеры: NumTokens("a,b,c") выдаст 3, NumTokens("one|two|three|four", "|") выдаст 4.

Remove(source, string) (удалить) — удаляет строчку в источнике (source)

Replace(source, find, replace) (заменить) — заменяет все результаты поиска на строчку (replace) в источнике (source).

Reverse(string) (обратный порядок) — переворачивает строчку наоборот.

Right(string, N) — получает строчку с N-ым количеством знаков справа. К примеру, Right("Hello", 3) получит "llo".

Trim(string) — урезает строчку, удаляя все ведущие и завершающие пробелы и пустые знаки.

UpperCase(string) (верхний регистр) — преобразует строку в верхний регистр.

System (Система)

AppPath (путь к приложению) — получает путь к текущему приложению.
В экспортированных приложениях это папка, где лежит ЕХЕ файл. Когда вы делаете предпросмотр, тогда это папка, где лежит .cap файл.

Примечание: только что созданные приложения получают пустую строчку с этим значением, сначала вам нужно сохранить файл приложения, и когда будет сохраненный CAP файл, то тогда вы сможете получить к нему путь. Обязательно включается завершающий слеш (значок ), например C:GamesMy game

CountMatching(oid)
CountMatching(object name)

— получает количество копий (instances) объекта по специфическому типу OID (числу) или по имени объекта (строчке), которые встречаются в условиях событий.

float(value) — конвертирует выбранную строчку или целое число в дробное.

global('Value name') (глобальное значение) — получает глобальное значение, которое присваивается в Application properties (свойствах приложения).

int(value) — конвертирует выбранную строчку или дробное число в целое.

LayoutName (имя Layout) — имя текущего уровня.

LayoutNumber (номер Layout) — номер текущего уровня.

LayoutWidth (ширина Layout) — получает ширину текущего уровня в пикселях.

LayoutHeight (высота Layout) — получает высоту текущего уровня в пикселях.

PS_Version (версия пиксельных шейдеров) — получает версию шейдера, которую поддерживает ваш компьютер. Получает такие значения как 0, 1.1, 1.4, 2, 3.

str(value) — конвертирует выбранное число в строчку. В большинстве случаев это может быть сделано с помощью «оператора» &.

TotalObjects (всего объектов) — сколько всего копий объекта (instances) существует в сцене.

TotalObjects(number) (всего объектов (число))
TotalObjects(layer_name) (всего объектов (имя))

— количество объектов на выбранном слое.

Time (время)

TickCount (количество тиков) — получает кол-во кадров (тиков), отрендеренных приложением с начала его запуска.

TimeDelta — получает количество времени между текущим кадром и последним, в секундах. Смотрите подробней TimeDelta.

Timer (таймер) — получает время, в течение которого запущен уровень (т.е. сколько прошло с момента его запуска), в миллисекундах. На это значение также влияет time scale (масштаб времени).

TimeScale (масштаб времени) — получает текущий масштаб времени (например, для эффектов замедления времени). Смотрите более подробно Time Scaling.



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

Опубликовано: 10 июня, 2010

Категория: Объекты

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

  1. DtrQ:

    >Else (еще)
    ИМХО, тут больше подходит "Иначе"

  2. p-ash-a:

    Будут ли такие же описания других объектов?

  3. WormX:

    Составляющая ^ может также использоваться, чтобы увеличивать силу

    Raise to power - еще и возвести в степень, что здесь и подразумевается, исправьте.

  4. 666:

    А будет статья про Card game? и если будет, то как скоро.

  5. Мистер Доктор:

    Сколько не перечитую всёравно не доходит. А вот если это не учить то можно создавать игры и вот этим не пользоватся?