Script Game — различия между версиями
Abeyn (обсуждение | вклад) |
Abeyn (обсуждение | вклад) |
||
Строка 57: | Строка 57: | ||
} | } | ||
+ | ==Обмен событиями== | ||
+ | Для оптимизации скорости обмена между вьювером и скриптом в качестве формата сообщения выбран массив вещественных чисел следующего формата: | ||
+ | *'''число событий''' | ||
+ | *'''тип события 1''' | ||
+ | *'''размер события 1''' | ||
+ | *'''данные события 1''' | ||
+ | ... | ||
+ | *'''тип события N''' | ||
+ | *'''размер события N''' | ||
+ | *'''данные события N''' | ||
+ | ===События из вьювера в скрипт=== | ||
− | |||
− | + | ==События из вьювера в скрипт== | |
− | + | Для оптимизации скорости обмена соо | |
− | |||
− | |||
*'''economics''' - Ссылка на объект economics. | *'''economics''' - Ссылка на объект economics. |
Версия 11:07, 14 декабря 2017
Объект ScriptGame служит для встраивания игр, написанных на различных скриптовых языках, в редактор
Содержание
Свойства
- скрипт - Скрипт игровой механники данного объекта (Type Script, Java Script, LUA ...)
- config - конфиг для игровой механики. Чтобы добавить конфиг нужно нажать правой кнопкой на области свойств и выбрать "config". После чего загрузить заранее подготовленный конфиг для игровой механики. Как подготовить конфиг см. тут
Инициализация
При инициализации создается объект в глобальном пространстве имен с именем <Имя игровой механники (указанное в поле "скрипт")>_<Идентификатор объекта во вьюере>. Затем вызывается функция modules_init в которую передается конфигурацонный файл объекта сдедующей структуры:
{
"id" : 2 //Идентификатор объекта "width" : 1024, //Ширина объекта "height" : 768, //Высота объекта "resourcesInfo" : { //Ресурсы, используемые механникой "images" : [ //Изображения { "w" : 183, //Высота "h" : 183, //Ширина "id" : 68, //Идентификатор ресурса "px" : 92, //Пивот Х "py" : 92 //Пивот Y } ] }, "config" : { //Основной конфигурационный файл указанный в поле "config" "defaultIcoID" : 68, "levels" : [ { "config" : { //Конфигурационный файл соответствующего уровня "level" : { "cols" : 5, "field" : "0,1,4,5,2" "id" : 1, "moveSnd" : 70, "picture" : 69, "rows" : 5 }, "resources" : { "images" : "69", "sounds" : "70" } }, "dir" : "levels/1/", "id" : 73 } ], "name" : "levels config", "nameID" : 20, "resources" : { "images" : "68", "sounds" : "", "texts" : "20" } }
}
Обмен событиями
Для оптимизации скорости обмена между вьювером и скриптом в качестве формата сообщения выбран массив вещественных чисел следующего формата:
*число событий *тип события 1 *размер события 1 *данные события 1
...
*тип события N *размер события N *данные события N
События из вьювера в скрипт
События из вьювера в скрипт
Для оптимизации скорости обмена соо
- economics - Ссылка на объект economics.
- таблица - Ссылка на таблицу, где будут размещаться шаблоны.
Взаимодействие объекта с вьювером
В данном разделе описан протокол обмена сообщениями между вьювером и объектом