2014-10-28 5 views
1

Я переработал свой код, чтобы использовать состояния и классы. Код чище, но обратный вызов, связанный с onBeginContact, больше не вызывается. Без классов он работал так, как ожидалось.onBeginContact не отправлен

В Boot.js:

this.game.physics.startSystem(Phaser.Physics.P2JS); 

В Game.js:

this.ship = this.game.add.sprite(200, 200, 'ship'); 
this.ship.animations.add('propulse', [1, 2, 3]); 
this.game.physics.p2.enable(this.ship, false); 
this.ship.body.addPolygon({}, 30, 35 , 0, 35 , 14, 5); 
this.ship.body.onBeginContact.add(this.hitWall, this); 

hitWall не называется. Я попытался использовать простую функцию, но такую ​​же проблему. Если вам нужна дополнительная информация, пожалуйста, спросите.

ответ

0

Линия:

this.game.physics.startSystem(Phaser.Physics.P2JS); 

Должно быть в Game.js тоже.

+1

Более конкретно, физическая система уничтожается всякий раз, когда изменяется состояние игры. Вот почему физическая система должна быть перезапущена и настроена соответствующим образом. – kctang

Смежные вопросы