Skip to content

Short Wiki RU

Pythagoras edited this page Jun 4, 2018 · 3 revisions

Добро пожаловать в Stratwenty wiki!

Это не законченный проект, а всего лишь тестовое приложение.

1. Файл настроек

Чтобы начать использовать движок, нужно создать файл 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 - Описание фоновых треков игры. (Музыка в меню, тд.)

2. Описание сцен

Когда файл 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", описывает действие, которое будет выполнено при нажатии на объект.

Остальные параметры будут добавлены в будущем.

Clone this wiki locally