Config — различия между версиями
Avereskun (обсуждение | вклад) |
Avereskun (обсуждение | вклад) (→Загрузка конфига) |
||
| Строка 82: | Строка 82: | ||
} | } | ||
=Загрузка конфига= | =Загрузка конфига= | ||
| + | Порядок загрузки конфига можно посмотреть [[Script_Game#Свойства|тут]] | ||
| + | Сравним как выглядит конфиг до и после загрузки в базу ресурсов | ||
| + | |||
| + | До: | ||
| + | { | ||
| + | "name":"levels config", | ||
| + | "nameID":"{txt:0}", | ||
| + | "defaultIcoID":"{img:3}", | ||
| + | "levels": | ||
| + | [ | ||
| + | {"dir":"levels/1/"}, | ||
| + | {"dir":"levels/2/"} | ||
| + | ] | ||
| + | } | ||
| + | |||
| + | После: | ||
| + | { | ||
| + | "defaultIcoID": 23, | ||
| + | "levels": [ | ||
| + | { | ||
| + | "dir": "levels/1/", | ||
| + | "id": 28 | ||
| + | }, | ||
| + | { | ||
| + | "dir": "levels/2/", | ||
| + | "id": 29 | ||
| + | } | ||
| + | ], | ||
| + | "name": "levels config", | ||
| + | "nameID": 20, | ||
| + | "resources": { | ||
| + | "images": [ | ||
| + | 23 | ||
| + | ], | ||
| + | "sounds": [ | ||
| + | ], | ||
| + | "texts": [ | ||
| + | 20 | ||
| + | ] | ||
| + | } | ||
| + | } | ||
| + | |||
| + | Помимо основных параметров в конфиг после экспорта добавились ресурсы с уникальными id, а файлы уровней также получили уникальные id. | ||
| + | |||
=Примеры= | =Примеры= | ||
Версия 10:36, 14 декабря 2017
Конфиг необходим для настройки свойств игровой механики, которая была добавлена в объект Script Game. Этот конфиг заменяет игровой механике сетсы, которые для нее недоступны.
Содержание
Структура
config.json
- levels/
- 1/
- config.json
- resources/
- images/
- pic.png
- sounds/
- snd.ogg
- resources.json
- images/
- 2/
- 1/
- ...
- levels/
resources/
- images/
- pic.png
- sounds/
- snd.ogg
- resources.json
- images/
Описание
config.json
В корне должен лежать файл config.json. В нем содержатся основные свойства игровой механики, которые не привязаны к уровню, а также массив ссылок на директории с настройками для каждого уровня. {
"name": "hidden_list",
"tex1": "{txt:10}"
"res2": "{img:11}"
"levels":[{
"dir": "levels/1/"
},
{
"dir": "levels/2/"
}
]
}
resources
В каталоге с ресурсами должны находится каталоги images (с графикой), sounds (со звуками) и файл resources.json с информацией и путями к ресурсам resources.json.
{
"texts": [{
"id": 10,
"lang":[
{ "name":"en", "w" :"Hello", "s1": "open door", "s2": "stop 2", "s3": "stop door" }
]
},
{ "id": 11, "w" :"Hello 2", "s2":"Hello world 2" }
],
"images": [{
"id" : 3,
"src": "images/pic.png",
"px" : 100,
"py" : 100
}
],
"sounds": [
{ "id" : 3, "src": "sounds/mus.ogg" }
]
}
levels
В этом каталоге размещаются настройки уровней для игровой механики. Содержание папки с уровнем аналогичное общей структуре конфига: файл config.json с конфигурацией и настройками уровня, каталог resources в котором лежит графика и звуки для этого уровня и файл resources.json с параметрами и путями к ресурсам (картинки, звуки, тексты). levels/1/config.json
{
"hiddens": [{
"text1": "{txt:10}",
"text2": "{txt:11}",
"nm": "bita_00",
"rect": {
"h": 342,
"w": 36,
"x": -699,
"y": 66
},
"res": "{img:3}",
"snd": "{snd:3}"
}]
}
Загрузка конфига
Порядок загрузки конфига можно посмотреть тут Сравним как выглядит конфиг до и после загрузки в базу ресурсов
До:
{
"name":"levels config",
"nameID":"{txt:0}",
"defaultIcoID":"{img:3}",
"levels":
[
{"dir":"levels/1/"},
{"dir":"levels/2/"}
]
}
После:
{
"defaultIcoID": 23,
"levels": [
{
"dir": "levels/1/",
"id": 28
},
{
"dir": "levels/2/",
"id": 29
}
],
"name": "levels config",
"nameID": 20,
"resources": {
"images": [
23
],
"sounds": [
],
"texts": [
20
]
}
}
Помимо основных параметров в конфиг после экспорта добавились ресурсы с уникальными id, а файлы уровней также получили уникальные id.