Javascript 如何设置具有世界边界的碰撞器(相位器)?

Javascript 如何设置具有世界边界的碰撞器(相位器)?,javascript,phaser-framework,Javascript,Phaser Framework,我用的是Phaser.io 我刚刚学习了如何设置碰撞器功能: this.physics.add.collider(enemies, platforms, function (enemy) { enemy.destroy(); gameState.score += 10; }); 但我想在没有平台的情况下做同样的事情。我想使用世界边界,而不是平台 我知道你可以这样设定世界界限: player.setCollideWorldBounds(true); 我试过: this.physics.

我用的是Phaser.io

我刚刚学习了如何设置碰撞器功能:

this.physics.add.collider(enemies, platforms, function (enemy) {
  enemy.destroy();
  gameState.score += 10;
});
但我想在没有平台的情况下做同样的事情。我想使用世界边界,而不是平台

我知道你可以这样设定世界界限:

player.setCollideWorldBounds(true);
我试过:

this.physics.add.collider(enemies, this.worldBounds, function (enemy) {
  enemy.destroy();
  gameState.score += 10;
});
但这不起作用


有什么想法吗?

我为您找到了一个解决方案:

首先,设置敌人的精灵与碰撞,如下所示:

enemy.setCollideWorldBounds(true);
enemy.body.onWorldBounds = true;
第二个,将敌人的精灵的选项转到收听,如下所示:

enemy.setCollideWorldBounds(true);
enemy.body.onWorldBounds = true;
第三个和最后一个,设置&使敌人像这样消失:

enemy.body.world.on('worldbounds', function(body) {
  // Checks if it's the sprite that you'listening for
  if (body.gameObject === this) {
    // Make the enemy sprite unactived & make it disappear
    this.setActive(false);
    this.setVisible(false);
  }
}, enemy);