2015-02-08 6 views
2

Этот вопрос касается phaser.io. Может кто-нибудь показать мне, как заставить объекты внутри группы сталкиваться друг с другом. Прямо сейчас, когда я делаю,Сделать объекты внутри группы сталкиваются с собой в 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); 

Все элементы внутри стека группы поверх друг друга, когда они упали на пол в том же положении. Другими словами, стек строит в одном положении, последний скрывает предыдущий элемент, а не вверх в смысле один поверх другого в более высоком положении. Как заставить стек строить вверх? Если бы вы могли просто показать мне, как сделать элементы внутри группового столкновения, было бы здорово. Благодарю.

ответ

4

Вы можете столкнуться группу с собой:

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

Хотя на этой ноте я хотел бы указать вам на этом уроке при добавлении простой 1d массив сортировки, который будет значительно помочь, если группа плотно населена : http://ra3s.com/wordpress/dysfunctional-programming/pruning-collision-detection-with-a-1d-sort/

+0

Ах да, конечно. Благодаря!! Btw, потрясающая статья о 1-й сортировке. –

+0

Можно ли это использовать и с физикой p2? Или мы должны использовать 'onBeginContact'? –

+0

P2 использует события контакта для всех столкновений, поэтому вам придется использовать эти «да». – PhotonStorm