我已经在副项目上工作了一段时间了,现在在Phaser 2中基于2D Top-Down Tilemap的游戏中
到目前为止,我已经构建了地图生成器和地图加载器(以及我认为与该问题无关的其他部分),但是我在赋予Tiles某些属性方面遇到了麻烦,很明显,我知道我可以进入Tiled地图编辑器并设置Tileset瓦片上的属性,但是在使用各种细胞自动机生成随机地图时,我无法执行此操作,因为Phaser不支持外部Tileset,如果要支持属性,则必须将其嵌入。
我最初的想法是要有一个JSON文件,在其中定义每个生物群系(如下),然后而不是对Tilemap本身进行操作来获取属性,我会在tilemap的顶部使用一个排序数据层来保存各个位信息,但我在想办法“同步”各种tileID(因为除了将tileSetImage添加到空白tilemap之外,无法做其他事情)及其属性的方法。
{
"allBiomes" :
[
{
"id" : 0,
"name": "Forest",
"tiles" :
{
"terrain" :
{
"id" : 0,
"name" : "LightGrassTile",
"properties" :
[
{"walkable" : true},
{"flammable" : true}
]
}
},
"tilesets" : [
{
"tileset_key" : "Forest",
"tileset_image" : "src/data/tilesets/forest/forest.png",
"tileset_json" : "src/data/tilesets/forest/forest.json",
"tileset_data" : "src/data/tilesets/forest/forest_data.json"}
],
"biomeInformation" :
{
"temperatureRange" : [0, 20],
"humidityRange" : [0, 50],
"fauna" : [
{"type" : "GiantAnt", "spawnChance" : 0.9}
],
"flora" : [
{"type" : "Mushroom", "spawnChance" : 0.6}
]
}
}
]
}
有人有做类似事情的经验吗?还是更好的方法,还是应该尝试其他框架?
感谢您的时间。