在Phaser.io中使组内的对象与自己发生冲突?

时间:2015-02-08 07:13:56

标签: game-physics phaser-framework

这个问题与phaser.io有关。有人可以告诉我如何使组内的对象相互冲突。 现在,当我这样做时,

//board is the group and it has many elements
//Floor is where all the elements fall to
game.physics.arcade.collide(this.board, this.floor);

当组在同一位置撞到地板时,组内的所有元素都堆叠在一起。换句话说,堆栈建立在一个位置,最新的一个隐藏前一个元素,而不是一个位于另一个位于更高位置的另一个位置。如何使堆栈向上构建?如果你能告诉我如何让组内部的元素碰撞会很棒。感谢。

2 个答案:

答案 0 :(得分:5)

您可以将群组与自身发生冲突:

game.physics.arcade.collide(this.board, this.board);

虽然在这个说明中我会在本教程中指出你添加一个简单的1d排序数组,如果该组人口密集,这将有很大帮助:http://ra3s.com/wordpress/dysfunctional-programming/pruning-collision-detection-with-a-1d-sort/

答案 1 :(得分:0)

只是为了更新接受的答案..

在 phaserjs 版本 3.55.2 中应使用以下代码:

game.physics.world.addCollider(this.board, this.board);