Кастомные API курса
В процессе прохождения курса мы используем не только стандартные команды языка Lua, но и специальные библиотеки (API), написанные специально для наших космических, неоновых и марсианских приключений.
Если ты случайно удалил нужный файл или он повредился, ты всегда можешь скачать его заново с помощью команды pastebin get <код> <имя_файла>.
Ниже приведена полная документация по каждому кастомному модулю.
1. Редактор Анимаций (Editor)
Продвинутая программа для создания покадровой пиксельной графики. Используется в модуле Нео-Киото.
Команда для установки:
pastebin get T0EkyM4T editor
Как пользоваться:
- Напиши
editorи нажми Enter. - Введи имя проекта (например,
show). - Рисуй кадры!
Горячие клавиши редактора:
- 1-7 — Инструменты (Карандаш, Заливка, Ластик и т.д.)
- Стрелка Вправо / Влево — Следующий / Предыдущий кадр.
- C (Copy) — Скопировать ВЕСЬ рисунок из прошлого кадра в текущий.
- O (Onion Skin) — Включить "Луковую шелуху" (подсветку бледным контуром прошлого кадра).
- WASD — Сдвинуть рисунок (вверх, вниз, влево, вправо).
- R (Run) — Запустить просмотр анимации.
- E (Edit Config) — Открыть файл настроек
config.luaдля изменения скорости, зацикливания или вывода на внешний монитор.
Пример конфигурации (config.lua):
2. Графический Движок (Engine / GUI)
Библиотека для быстрого создания красивых меню и кнопок на сенсорных экранах. Избавляет от необходимости вручную прописывать координаты для каждого клика.
Команды для установки:
pastebin get iZj3qC37 engine
Дополнительные файлы фестиваля из урока 27:
- Фейерверк:
pastebin get yp86rTcn firework - Музыка:
pastebin get P04ja4UM music
Основные методы Engine:
| Метод | Описание | Аргументы |
|---|---|---|
gui.init(side, scale, bg) | Подключает монитор, ставит масштаб и заливает фон. | side (сторона), scale (масштаб), bg (цвет фона) |
gui.add(text, y, color, action, [opts]) | Создает сенсорную кнопку. Если x не указан в opts, центрирует её. | text, y, color, action, {opts} |
gui.run() | Отрисовывает весь интерфейс и запускает бесконечный цикл отслеживания кликов. | — |
Параметр Action (Действие кнопки):
- Если передана сторона (
"left","back"и т.д.), подается редстоун-сигнал. - Если передана функция
function() ... end, она выполнится. - Если передан текст (
"music","show"), движок запустит файл с таким именем черезshell.run.
Пример использования (Пульт управления):
3. Навигационная Система (Nav API)
Движок (Backend) для создания P2P-радаров и компасов с распределенной синхронизацией базы данных по радиоэфиру.
Команда для установки:
pastebin get C5nkzGbN nav
Основные методы Nav:
| Метод | Описание |
|---|---|
nav.init(username, color) | Настраивает навигатор: имя пилота и цветовой акцент интерфейса. Открывает задний модем. |
nav.addBtn(id, text) | Добавляет кнопку в графическое меню компаса. |
nav.listen() | Запускает асинхронный слушатель. Ждет клика по экрану ИЛИ перехватывает радиопакеты с новыми метками на фоне. Возвращает id нажатой кнопки. |
nav.actionMark() | Процесс создания новой метки по текущим GPS координатам игрока. |
nav.showDB() | Открывает список всех меток (База Данных). |
nav.actionRadar() | Включает визуальный компас со стрелочками до цели. |
nav.exitApp() | Выключает программу и очищает экран. |
Пример использования (Приложение Навигатора):
4. Таймлайн Фейерверков (FW API)
Продвинутая пиротехническая библиотека, работающая по принципу временной шкалы (хореографии), позволяя наслаивать эффекты друг на друга.
Команда для установки:
pastebin get WBM9ZSFD fw_api
Основные методы FW API:
| Команда | Описание |
|---|---|
fw.init(skyHeight, groundOffset) | Настраивает высоты шоу. Базовый вариант: fw.init(50, 10) |
fw.play(loops) | Главная команда запуска. loops — количество повторов всего шоу. |
Функции Эффектов (Принимают (time, color)):
Аргументы всегда одинаковые: секунда запуска (time) и цвет ("red", "random", "white", и т.д.).
fw.arena_columns/fw.fountain/fw.wave/fw.fan/fw.rain— Наземные эффекты.fw.sphere/fw.cube/fw.pyramid/fw.dna/fw.hourglass— Геометрия.fw.laser/fw.blackhole/fw.galaxy/fw.vortex/fw.rainbow_ring— Гранд-финал и космос.
Пример: fw.sphere(25, "random") — взорвет сферу случайного цвета ровно на 25-й секунде шоу.
Пример использования (Хореография шоу):