impact.js级别对象的结构是什么?

时间:2014-04-10 15:40:01

标签: javascript impactjs

在impact.js框架中,Weltmeister级别编辑器生成的关卡对象的结构是什么? 我能够找到的最多信息是ig.game.loadlevel的文档,但它非常有限。特别是layer的{​​{1}}属性的含义是什么意思?

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],
            ]
        },
    ]
}

关卡对象有两个部分,entitieslayers,两者都是数组。 entities数组包含将在级别加载期间生成的实体。在上面的示例中,这相当于调用ig.game.spawnEntity(EntityClassName, 64, 32, {})

layers数组中的对象会创建ig.BackgroundMapig.CollsionMap,具体取决于地图的名称。如果名称为"collision",则游戏将在ig.CollisionMap处创建ig.game.collisionMap。如果是其他任何内容,则会创建ig.BackgroundMap并将其添加到ig.game.backgroundMaps数组中。

data结构的layer属性是平铺贴图本身。该数组确定要从tileset中绘制哪个tile。