Javascript 如何设置具有世界边界的碰撞器(相位器)?
我用的是Phaser.io 我刚刚学习了如何设置碰撞器功能: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.
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);