这可能是一个JS问题,我不确定。
我正在使用JSON来存储游戏中敌人的数据。我目前的结构如下:
{
"Area 1": {
"Enemy Name": {
"type": "Human",
"lvl": 30
},
"Enemy 2": {
"type": "Human",
"lvl": 30
}
},
"Area 2": {
"Enemy 1": {
"type": "Human",
"lvl": 30
},
"Enemy 2": {
"type": "Human",
"lvl": 30
}
}
}
我想知道是否应该使用"name"
属性为每个区域使用一组敌人。像这样:
{
"Area 1": [
{
"name": "Enemy Name",
"type": "Human",
"lvl": 10
},
{
"name": "Enemy 2",
"type": "Human",
"lvl": 30
}
],
"Area 2": [
{
"name": "Enemy 1",
"type": "Human",
"lvl": 30
},
{
"name": "Enemy 2",
"type": "Human",
"lvl": 30
}
]
}
我认为第二种方式是我应该这样做,但想要其他人的反馈。我想从第一种方式来说,我需要知道敌人的名字以便读取他们的数据,而使用数组,我可以遍历这些区域并读取每个区域中的敌人。 在此先感谢您的帮助!
答案 0 :(得分:1)
第二种选择是正确的。它结构合理,您可以轻松遍历任何区域以对敌人执行操作。我的建议是选择第二个。
var Map = [
Area1: [
{
name: "Enemy 1";
metaData: '...'
},
{
name: "Enemy 2";
metaData: '...'
}
],
Area2: [
{
name: "Enemy 1";
metaData: '...'
}
]
];
扫描特定区域内的敌人。
Map[Area1].forEach(function(enemy) {
//Operation ...
});
我希望这会有所帮助。 :)