在impact.js框架中,Weltmeister级别编辑器生成的关卡对象的结构是什么?
我能够找到的最多信息是ig.game.loadlevel的文档,但它非常有限。特别是layer
的{{1}}属性的含义是什么意思?
答案 0 :(得分:1)
文档中的示例:
{
entities: [
{type: "EntityClassName", x: 64, y: 32, settings: {}},
{type: "EntityClassName", x: 16, y: 0, settings: {}},
],
layer: [
{
name: "background1",
tilesetName: "media/tiles/biolab.png",
repeat: false,
distance: 1,
tilesize: 8,
foreground: false,
data: [
[1,2,6],
[0,3,5],
[2,8,1],
]
},
]
}
关卡对象有两个部分,entities
和layers
,两者都是数组。 entities数组包含将在级别加载期间生成的实体。在上面的示例中,这相当于调用ig.game.spawnEntity(EntityClassName, 64, 32, {})
layers
数组中的对象会创建ig.BackgroundMap
或ig.CollsionMap
,具体取决于地图的名称。如果名称为"collision"
,则游戏将在ig.CollisionMap
处创建ig.game.collisionMap
。如果是其他任何内容,则会创建ig.BackgroundMap
并将其添加到ig.game.backgroundMaps
数组中。
data
结构的layer
属性是平铺贴图本身。该数组确定要从tileset中绘制哪个tile。