BLOXAR Script Engine
Добро пожаловать в официальную документацию. BLOXAR Script — это мощная среда выполнения, позволяющая программировать логику миров, создавать интерактивные механики, ловушки и полноценные мини-игры прямо в браузере.
💡 Важно знать
Скрипты в BLOXAR пишутся на стандартном JavaScript. Движок вызывает ваш код 60 раз в секунду (каждый кадр), что позволяет делать невероятно плавные анимации и моментально реагировать на действия игроков.
🚀 Как создать свой первый скрипт
- Откройте нужный проект в режиме редактирования (Studio Mode).
- В правой панели Explorer нажмите на плюсик (
➕) и выберите📜 Script. - Перетащите созданный скрипт внутрь любого блока (
📦 Part). - Кликните по скрипту в списке, чтобы открыть редактор кода.
Внимание: Скрипты НЕ выполняются внутри Студии! Чтобы протестировать код, нажмите Save & Close, затем Publish World и зайдите в игру как обычный Игрок.
🧬 Системные переменные
В каждом скрипте вам изначально доступны 4 системные переменные. Их не нужно объявлять через let или const, просто используйте их.
Блок (3D-объект), внутри которого лежит скрипт. Вы можете менять его позицию, размер и вращение.
Пример: parent.position.y += 0.1;
Текущее время игры в секундах. Идеально для создания цикличных анимаций через Math.sin(time).
Объект вашего персонажа. Можно использовать для проверки дистанции:
Пример: parent.position.distanceTo(player.position)
Сам объект скрипта. Используйте script.userData для хранения собственных переменных, чтобы они не сбрасывались каждый кадр.
🛠️ Global API: Манипуляции
Все системные команды вызываются через глобальный объект BLOXAR.
Красит объект. Цвета пишутся в HEX-формате с приставкой 0x. Например: 0xFF0000 (Красный).
Сдвигает объект на заданное расстояние по осям.
Вращает объект (углы указываются в радианах).
❤️ Global API: Игрок и Здоровье
Наносит урон игроку. Максимальное здоровье равно 100.
Восстанавливает здоровье игрока.
🔊 Global API: Аудио и UI
Воспроизводит звук. Доступные типы: 'step', 'jump', 'land'.
Возвращает true, если игрок зажал клавишу. Пример: BLOXAR.isKeyPressed('shift').
Показывает текст-подсказку на экране. Чтобы скрыть текст, передайте пустую строку "".
🧱 Global API: Создание блоков
Спавнит новый блок в мире. Возвращает созданный объект. Если hasPhysics = true, блок будет падать.
Навсегда удаляет объект из игрового мира. Важно вызывать для мусора, чтобы не было лагов.
💡 Готовые примеры (Copy & Paste)
Парящий Блок-хамелеон
// Вращаем по осям Y и Z
BLOXAR.rotate(parent, 0, 0.05, 0.02);
// Плавное парение
parent.position.y += Math.sin(time * 5) * 0.05;
// Меняем цвет при зажатии F
if (BLOXAR.isKeyPressed('f')) {
BLOXAR.setColor(parent, 0xFFD700); // Золотой
} else {
BLOXAR.setColor(parent, 0x1A2639); // Базовый
}
Интерактивная кнопка (Триггер)
let dist = parent.position.distanceTo(player.position);
// Если кнопка еще не нажата
if (!script.userData.isPressed) {
if (dist < 3) {
BLOXAR.showText("Нажми [E] чтобы активировать");
if (BLOXAR.isKeyPressed('e')) {
script.userData.isPressed = true;
BLOXAR.playSound('jump');
BLOXAR.setColor(parent, 0x2EE6A6); // Зеленый
BLOXAR.showText("");
}
} else {
// Прячем текст, если игрок ушел
BLOXAR.showText("");
}
}