我试图通过碰撞切换状态。因此,当玩家击中另一个精灵时,它应该切换状态,但它不会......
首先我在create:
下声明播放器和enterDoor精灵:
playerSprite = this.game.add.sprite(50, 1700, 'player-front');
player = new Player(playerSprite);
this.game.physics.enable(player, Phaser.Physics.ARCADE);
enterDoor = this.game.add.sprite(332, 830, 'player-back');
playerDoor = new Player(enterDoor);
this.game.physics.enable(playerDoor, Phaser.Physics.ARCADE);
然后我试图在update:
:
this.game.physics.arcade.overlap(player, playerDoor, this.enterHouse, null, this);
并且enterHouse是另一个功能:
enterHouse: function() {
this.state.start('Menu');
}
我在做什么'错误?
答案 0 :(得分:0)
所以使用上面的代码我根本无法触发overlap
。在播放器精灵body
上停用moves
后,overlap
被触发。
player.body.moves = false;
您的enterHouse
函数不需要接受这两个精灵,并且可以保持原样。
我不知道为什么这是必要的。