Javascript 是什么阻止我的冲突代码在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

我第一次使用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, 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在游戏范围内吗?