gpt4 book ai didi

javascript - 如何设置与世界边界的碰撞器(Phaser)?

转载 作者:行者123 更新时间:2023-11-30 13:50:32 25 4
gpt4 key购买 nike

我正在使用 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;
});

但这行不通。

有什么想法吗?

最佳答案

我已经为您找到了解决方案:

首先,将敌人的 Sprite 设置为与setCollideWorldBounds(true)碰撞。 像这样:

enemy.setCollideWorldBounds(true);

第二,打开敌人 Sprite 的选项以监听 WorldBound events 像这样:

enemy.body.onWorldBounds = true;

第三个也是最后一个,设置 "wordbounds" event listener & 让敌人消失,如下所示:

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);

关于javascript - 如何设置与世界边界的碰撞器(Phaser)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com