Javascript 是什么阻止我的冲突代码在Phaser JS中工作?
我第一次使用Phaser JS游戏框架。我试图确定两个精灵何时重叠或碰撞。以下是我如何努力做到这一点: 在更新功能中:Javascript 是什么阻止我的冲突代码在Phaser JS中工作?,javascript,phaser-framework,Javascript,Phaser Framework,我第一次使用Phaser JS游戏框架。我试图确定两个精灵何时重叠或碰撞。以下是我如何努力做到这一点: 在更新功能中: update: function() { this.game.physics.collide(this.player1, this.player2, this.CollisionD, null, this); this.game.physics.overlap(this.player1, this.player2, this.OverlapD, null, t
update: function() {
this.game.physics.collide(this.player1, this.player2, this.CollisionD, null, this);
this.game.physics.overlap(this.player1, this.player2, this.OverlapD, null, this);
}
然后在我的CollisionD
函数中,即我的冲突处理程序中,我尝试了:
function CollisionD(obj1, obj2) {
alert('collision!');
}
我试着:
function CollisionD(player1, player2) {
alert('collision!');
}
我的重叠检测也是如此。我做错了什么?控制台中也没有显示错误消息 好吧,过去我在相位器重叠方面也遇到过类似的问题,它似乎从来没有像我在指南中看到的那样对我正常工作过。因此,我没有传递回调,而是使用重叠作为布尔值,并使用if语句调用该方法(如果为true)。在您的情况下,这看起来像:
if(this.game.physics.overlap(this.player1, this.player2))
overlapD(this.player1, this.player2);
当然,这需要多行代码,但它可以省去断码的麻烦,对吗?你的移相器版本是什么?如果你尝试不使用参数?顺便说一句,Phaser2.0将于明天发布,物理管理器将发生很大变化。如果我尝试不使用参数,也会发生同样的变化。什么也没发生。难道我的精灵不被认为是重叠或碰撞的吗?尽管如此,还是有一组精灵正好越过了主精灵(主角色)。敌人来来去去去,越过我的主角。你缩放了你的精灵吗?你确定函数CollisionD在游戏范围内吗?