Phaser 3 穿甲弹多次击中
Phaser 3 piercing bullet hit multiple times
对于一款游戏,我尝试制作能穿透敌人的子弹,由于 overlap() 函数,这本身很容易。
我的问题是,子弹多次击中敌人,最后瞬间秒杀。
有没有办法说“hit/collide每个敌人只有一次”?
我的碰撞:
this.scene.physics.add.overlap(
this.scene.enemyGroup,
this.scene.playerProjectiles_PierceEnemies,
function (enemy, projectile) {
enemy.health -= projectile.dmg;
if (enemy.health == 0) {
enemy.destroy();
}
});
您可以向子弹添加“is_live”属性,并在发生碰撞时将该属性更新为 false,然后在您的 overlap() 函数中仅检查实时子弹。
对于一款游戏,我尝试制作能穿透敌人的子弹,由于 overlap() 函数,这本身很容易。 我的问题是,子弹多次击中敌人,最后瞬间秒杀。
有没有办法说“hit/collide每个敌人只有一次”?
我的碰撞:
this.scene.physics.add.overlap(
this.scene.enemyGroup,
this.scene.playerProjectiles_PierceEnemies,
function (enemy, projectile) {
enemy.health -= projectile.dmg;
if (enemy.health == 0) {
enemy.destroy();
}
});
您可以向子弹添加“is_live”属性,并在发生碰撞时将该属性更新为 false,然后在您的 overlap() 函数中仅检查实时子弹。