Script Game — различия между версиями
Avereskun (обсуждение | вклад) (→Свойства) |
Abeyn (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
*'''config''' - [[config|конфиг]] для игровой механики. Чтобы добавить конфиг нужно нажать правой кнопкой на области свойств и выбрать "config". После чего загрузить заранее подготовленный конфиг для игровой механики. Как подготовить конфиг см. [[Config|тут]] | *'''config''' - [[config|конфиг]] для игровой механики. Чтобы добавить конфиг нужно нажать правой кнопкой на области свойств и выбрать "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" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | ["resourcesInfo"]["images"] | ||
*'''economics''' - Ссылка на объект economics. | *'''economics''' - Ссылка на объект economics. | ||
Строка 12: | Строка 65: | ||
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны. | *'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны. | ||
− | == | + | ==События из вьювера в скрипт== |
*'''economics''' - Ссылка на объект economics. | *'''economics''' - Ссылка на объект economics. |
Версия 10:59, 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" } }
}
["resourcesInfo"]["images"]
- economics - Ссылка на объект economics.
- таблица - Ссылка на таблицу, где будут размещаться шаблоны.
События из вьювера в скрипт
- economics - Ссылка на объект economics.
- таблица - Ссылка на таблицу, где будут размещаться шаблоны.
Взаимодействие объекта с вьювером
В данном разделе описан протокол обмена сообщениями между вьювером и объектом