Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重叠回调从未调用_Javascript_Phaser Framework - Fatal编程技术网

Javascript 重叠回调从未调用

Javascript 重叠回调从未调用,javascript,phaser-framework,Javascript,Phaser Framework,我正在创建一个小游戏 在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) {

我正在创建一个小游戏

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;
    }
}
并设置重叠回调

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);
}
该方法接收五个参数,您可以参考它们


物理拱廊的简单示例:

在函数更新中使用:
游戏。物理。拱廊。重叠(子弹,敌人,碰撞处理程序,null,这个)
就是它!请将其作为答案发布。这可能是一个解释,因为下一个看到它的人可能不知道这解决了什么问题。
function update() {
   game.physics.arcade.overlap(bullets, enemies, collisionHandler, null, this);
}