-
Notifications
You must be signed in to change notification settings - Fork 0
Short Wiki RU
Pythagoras edited this page Jun 4, 2018
·
3 revisions
Это не законченный проект, а всего лишь тестовое приложение.
Чтобы начать использовать движок, нужно создать файл data/config.json
Вот пример этого файла:
# config.json
{
"app_name" : "Stratwenty",
"app_author" : "Dennis Softman",
"app_version" : "302e30312062657461",
"width" : 1280,
"height" : 720,
"fullscreen" : false,
"scenes" :
{
"Menu" : "menu.json",
"TestLobby" : "lobby.json"
},
"startscene" : "menu.json",
"textures" :
{
"play" : "play.png",
"menu_back" : "background.png",
"mario" : "mario.png",
"quit" : "quit.png"
},
"background-audio" : ["music/menu_01.ogg"]
}
Итак, начнем с простого:
- app_name - Названия игры, которое будет изображено в заголовке окна
- app_author - Имя автора для информации в меню. ( Скоро )
- app_version - Версия игры в hex-формате, будет изображена вместе с app_name в заголовке окна
Есть несколько легких для понимания параметров:
- width - Ширина окна игры.
- height - Высота окна игры.
- fullscreen - Если true, то окно будет в полноэкранном режиме с шириной width и высотой height
Далее немного сложнее:
- scenes - Описание сцен, которые будут использованы в игре. Каждая сцена должна быть записана так:
"scenes" :
{
"ИмяСцены" : "файлсцены.json",
"ИмяСцены2" : "файлсцены2.json"
}
файлсцены.json и файлсцены2.json файлы из папки data/scenes ( Названия файлов и наименования сцен должны быть в ASCII-кодировке )
- startscene - Сцена, которая будет загружена при запуске игры. (Главное меню, тд.)
- textures - Описание текстур (спрайтов), которые будут использованы в игре. Каждое название текстуры должно быть уникальным, в формате:
"textures" :
{
"mario" : "mario.png",
"luigi" : "luigi.png"
}
mario.png и luigi.png - файлы из папки data/img/ ( Названия файлов и наименования текстур должны быть в ASCII-кодировке )
- background-audio - Описание фоновых треков игры. (Музыка в меню, тд.)
Когда файл config.json успешно создан, можно добавить в игру немного сцен!
Пример:
# menu.json
{
"name" : "Menu",
"author" : "Dennis Mitten",
"objects" :
{
"background" :
{
"x" : 0,
"y" : 0,
"w" : 1280,
"h" : 720,
"textures" : ["menu_back"],
"type" : "static"
},
"play_btn" :
{
"x" : 100,
"y" : 100,
"w" : 86,
"h" : 48,
"textures" : ["play"],
"type" : "button",
"hover" : "snd sounds/hover.wav",
"click" : "scn lobby.json"
},
"quit_btn" :
{
"x" : 100,
"y" : 200,
"w" : 86,
"h" : 48,
"textures" : ["quit"],
"type" : "button",
"hover" : "snd sounds/hover.wav",
"click" : "quit"
}
}
}
- name - Название сцены, должно быть в scenes из config.json
- author - Автор сцены, пока что упоминается только в логах.
- objects - Описание объектов на сцене.
Параметры объектов objects:
- x - X координата объекта на сцене.
- y - Y координата объекта на сцене
- w - ширина объекта на сцене.
- h - высота объекта на сцене.
- textures - массив строк, содержит названия текстур объекта. ( Объект создается с первой текстурой из этого массива )
- type - тип объекта на сцене. ( "static", "dynamic", "button" )
- hover - используется только когда type:"button", описывает действие, которое будет выполнено при наводе мыши на объект.
- click - используется только когда type:"button", описывает действие, которое будет выполнено при нажатии на объект.
Остальные параметры будут добавлены в будущем.