Script Game — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Свойства)
Строка 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:
 
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.
 
*'''таблица''' - Ссылка на таблицу, где будут размещаться шаблоны.
  
==Ссылки на объекты 1==
+
==События из вьювера в скрипт==
  
 
*'''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.
  • таблица - Ссылка на таблицу, где будут размещаться шаблоны.

Взаимодействие объекта с вьювером

В данном разделе описан протокол обмена сообщениями между вьювером и объектом