gpt4 book ai didi

javascript - Matter.js - 如何在碰撞后移除物体

转载 作者:行者123 更新时间:2023-11-30 06:51:09 25 4
gpt4 key购买 nike

我是 Matter.js 的新手,我真的很困惑如何在碰撞后删除一对中的特定物体,这是我的代码:

Matter.Events.on(engine, 'collisionEnd', function(event){
var i, pair,
length = event.pairs.length;
for(i = 0; i<length; i++){
pair = event.pairs[i];
if(pair.bodyA === ball){
continue;
}
else{
World.remove(world, pair.bodyA);
}
}
});

我想在与球发生碰撞后删除方 block ,但代码不工作。

最佳答案

看看这段代码。这应该有效!

var e = Matter.Engine.create(document.body);
var a = Matter.Bodies.rectangle(400, 400, 100, 60);
var b = Matter.Bodies.rectangle(450, 100, 100, 60);

Matter.Events.on(e, 'collisionEnd', _ => {
_.pairs.forEach(_ => {
if(_.bodyA === a || _.bodyB === a)
Matter.World.remove(e.world, a);
});
});

Matter.World.add(e.world, [a, b]);
Matter.Engine.run(e);

顺便说一句,不要使用 for 循环。 Foreach 与 matter.js 配合良好。

关于javascript - Matter.js - 如何在碰撞后移除物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47207541/

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