gpt4 book ai didi

javascript - 从未调用过重叠回调

转载 作者:行者123 更新时间:2023-11-30 15:34:45 24 4
gpt4 key购买 nike

我正在创建一个小的 space invaders -喜欢游戏。

create 函数中我创建了敌人

enemies = game.add.group();
enemies.enableBody = true;
enemies.physicsBodyType = Phaser.Physics.ARCADE;
enemies.x = 100;
enemies.y = 50;

for (var y = 1; y < 200; y += 50) {
for (var x = 233; x <= 800; x += 50) {
var enemy = enemies.create(x, y, 'enemy');
enemy.anchor.setTo(0.5, 0.5);
enemy.body.moves = false;
}
}

和子弹

bullets = game.add.group();
bullets.enableBody = true;
bullets.physicsBodyType = Phaser.Physics.ARCADE;
bullets.createMultiple(30, 'bullet');
bullets.setAll('anchor.x', 0.5);
bullets.setAll('anchor.y', 1);
bullets.setAll('outOfBoundsKill', true);
bullets.setAll('checkWorldBounds', true);

并设置重叠回调

game.physics.arcade.overlap(bullets, enemies, collisionHandler);

但是,不幸的是,当子弹与敌人重叠时,什么也没有发生。

回调是

function collisionHandler (bullet, enemy) {
console.log("poft");
bullet.kill();
enemy.kill();
}

最佳答案

在您的情况下,您只需要检查两组之间是否存在冲突,因此您可以选择使用将在函数更新中评估的“重叠”方法:

function update() {
game.physics.arcade.overlap(bullets, enemies, collisionHandler, null, this);
}

方法接收五个参数,可以引用here .

Physics Arcade 的简单示例: Group vs Group

关于javascript - 从未调用过重叠回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731901/

24 4 0
文章推荐: javascript - 如何使
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com