0

我有一个 tilemap,并在 tilemap 图层的顶部添加另一个包含俄罗斯方块图像的图层。我希望原始瓷砖地图上的玩家能够将添加的图像识别为实体实体。我不确定如何解决这个问题?是否有我可以使用的物理包或精灵对象的属性,我可以修改它以使图像成为实体实体?

我尝试了以下代码:

layer = map.createLayer('World1');
spriteLayer = game.add.group();
spriteLayer.z = 1;

// Add sprites to spriteLayer.
tetris = game.add.sprite(200, 120, 'tetris');
tetris.anchor.setTo(0.1, 0.5);
spriteLayer.add(tetris);             

function update() {
game.physics.arcade.collide(p, spriteLayer); 
game.physics.arcade.collide(p, layer);
...
}

但这似乎不起作用。Sprite 层是包含俄罗斯方块图像的层,p 是我的播放器。我不知道如何解决这个问题,如果有任何帮助或任何其他关于如何解决它的想法,我将不胜感激。谢谢!

4

1 回答 1

0

您可以将 Sprite 与任意数量的事物碰撞,但每次检查都必须是其自己的碰撞调用。所以基本上你在上面做的很好(假设'p'是你的玩家),但你需要确保你的俄罗斯方块精灵和玩家精灵都已启用物理碰撞。

如果 spriteLayer 中的所有内容都将发生碰撞,您可以通过以下方式轻松做到这一点:

spriteLayer = game.add.physicsGroup();

然后添加到其中的任何东西都会默认启用 Arcade Physics 主体。

于 2014-05-08T03:33:19.950 回答