Класс для работы с вводом (клавиатура и мышь)
key (string) - клавиша из списка Keys
boolean - состояние клавиши (нажата/не нажата)
Проверяет состояние указанной клавиши. Возвращает true, если клавиша нажата, и false в противном случае.
// Пример: Проверка нажатия клавиши W для движения вперед
if (InputSystem.Keys(Keys.W)) {
player.MoveForward(Time.DeltaTime());
}
// Пример: Комбинация клавиш Shift + Space
if (InputSystem.Keys(Keys.SPACE) && InputSystem.Keys(Keys.LSHIFT)) {
player.Jump();
}
[number, number] - позиция мыши [x, y]
Возвращает текущую позицию курсора мыши в виде массива [x, y]. Координата Y инвертирована (увеличивается сверху вниз).
// Пример: Получение позиции мыши и отображение в тексте
let mousePos = InputSystem.MousePos();
VariableSystem.NewText(
`Mouse: ${mousePos[0].toFixed(0)}, ${mousePos[1].toFixed(0)}`,
[0, 0, -5],
0.5,
[255, 255, 255],
0
);
// Пример: Использование позиции мыши для цели
function update() {
let pos = InputSystem.MousePos();
crosshair.SetPosition(pos[0], pos[1], 0);
}
[boolean, boolean] - состояния кнопок [ЛКМ, ПКМ]
Возвращает состояния кнопок мыши: первый элемент массива - левая кнопка, второй - правая.
// Пример: Обработка кликов мыши
let clicks = InputSystem.MouseClick();
if (clicks[0]) { // ЛКМ
player.Shoot();
}
if (clicks[1]) { // ПКМ
player.Aim();
}
// Пример: Проверка двойного клика
let lastClickTime = 0;
if (clicks[0] && Time.Time() - lastClickTime < 0.3) {
player.DoubleClickAction();
lastClickTime = 0;
} else if (clicks[0]) {
lastClickTime = Time.Time();
}
Основные функции движка
os (string) - "Win" или "Web"
Устанавливает целевую операционную систему для разработки игры. Это влияет на оптимизацию и доступные функции.
[number, number] - размер окна [ширина, высота]
Возвращает текущий размер игрового окна. Полезно для адаптивного интерфейса.
// Пример: Центрирование объекта
let size = Engine.WindowSize();
let centerX = size[0] / 2;
let centerY = size[1] / 2;
title.SetPosition(centerX, centerY, 0);
// Пример: Проверка соотношения сторон
function isWidescreen() {
let size = Engine.WindowSize();
return size[0] / size[1] > 1.7;
}
Завершает работу приложения. В веб-версии может закрыть вкладку или показать сообщение.
// Пример: Выход из игры при нажатии ESC
function update() {
if (InputSystem.Keys(Keys.ESCAPE)) {
Engine.Quit();
}
}
// Пример: Кнопка выхода в меню
exitButton.onClick = function() {
Engine.Quit();
};
Управление камерой
[x, y, z] (number[]) - новая позиция
Устанавливает позицию камеры в 3D пространстве. Камера всегда смотрит вдоль оси Z.
// Пример: Установка камеры над игроком
Camera.SetCameraPos([player.x, player.y + 5, player.z + 3]);
// Пример: Камера для 2D платформера
Camera.SetCameraPos([player.x, player.y, 10]);
[x, y, z] (number[]) - новые углы вращения
Устанавливает вращение камеры по осям X, Y, Z в градусах.
// Пример: Наклон камеры для эффекта "ранен"
function applyDamageEffect() {
Camera.SetCameraRotate([0, 0, 15]);
setTimeout(() => Camera.SetCameraRotate([0, 0, 0]), 500);
}
// Пример: Камера от первого лица
function updateFPS() {
let mouseMove = InputSystem.MousePos();
Camera.SetCameraRotate([-mouseMove[1]/10, mouseMove[0]/10, 0]);
}
Работа со временем
number - текущее время в секундах
Возвращает время с момента запуска игры в секундах. Полезно для таймеров и анимаций.
// Пример: Таймер обратного отсчета
let startTime = Time.Time();
function update() {
let elapsed = Time.Time() - startTime;
if (elapsed > 60) {
endGame();
}
timerText.text = `Time: ${60 - Math.floor(elapsed)}`;
}
// Пример: Мигание объекта
function update() {
let visible = Math.sin(Time.Time() * 5) > 0;
warningSign.visible = visible;
}
number - время между кадрами в секундах
Возвращает время, прошедшее между последним и текущим кадром (в секундах). Используйте для плавного движения независимо от FPS.
// Пример: Движение с постоянной скоростью
const SPEED = 5;
function update() {
if (InputSystem.Keys(Keys.W)) {
player.MoveForward(SPEED * Time.DeltaTime());
}
}
// Пример: Плавное затухание
function update() {
alpha -= Time.DeltaTime();
if (alpha <= 0) {
Destroy(this);
}
}
Константы для клавиш клавиатуры
Содержит все поддерживаемые клавиши клавиатуры для использования с InputSystem.Keys().
// Полный список доступных клавиш:
Keys = {
Q: "q", W: "w", E: "e", R: "r", T: "t", Y: "y", U: "u", I: "I", O: "o", P: "p",
A: "a", S: "s", D: "d", F: "f", G: "g", H: "h", J: "j", K: "k", L: "l",
Z: "z", X: "x", C: "c", V: "v", B: "b", N: "n", M: "m",
F1: "f1", F2: "f2", F3: "f3", F4: "f4", F5: "f5", F6: "f6",
F7: "f7", F8: "f8", F9: "f9", F10: "f10", F11: "f11", F12: "f12",
SPACE: "space", ESCAPE: "esc", RCLICK: "rshift", LCLICK: "lshift",
UP: "up", DOWN: "down", RIGHT: "right", LEFT: "left"
};