2016-04-20 38 views
0

在我的空間射擊遊戲中,我隨機地在遊戲區域周圍漂浮着小行星。這些小行星是同一個physicsGroup的一部分。我正在使用街機物理。我希望能夠檢查該小組的小行星與小組其他小行星之間的碰撞。碰撞組中的其他對象

我想在我的更新功能如下:

game.physics.arcade.collide(asteroid, asteroids, asteroidCollision, null, this); 
game.physics.arcade.collide(asteroids, asteroids, asteroidCollision, null, this); 
game.physics.arcade.collide(asteroids); 
game.physics.arcade.collide(this.asteroids, this.asteroids); 

spawnAsteroid功能(略關於產卵位置的部分)

asteroid = asteroids.create(x, y, 'asteroid'); 
asteroid.body.setSize(150, 150, 80, 50); 
asteroid.body.immovable = true; 
asteroid.body.bounce.set(1); 
asteroid.body.collideWorldBounds = true; 
this.game.physics.arcade.moveToXY(asteroid, this.game.world.randomX,this.game.world.randomY, game.rnd.integerInRange(30, 50)); 

我沒有問題與碰撞的小行星羣與其他精靈或團體,只是與自己。

+0

可能重複? http://stackoverflow.com/q/283​​91544/11912答案也包含官方示例頁面的鏈接:http://phaser.io/examples/v2/arcade-physics/group-vs-self –

+0

我試過了但它不起作用,我會將其添加到我的問題。 – Yoklan

+0

其實我找到了原因,body.immovable是罪魁禍首。它在刪除它後使用.collide(小行星)。如果你把它作爲答案發布,我可以接受你的評論。 – Yoklan

回答