我在一个小项目上使用 matter.js,尝试使用 js 函数从 mattejs 世界中添加和删除对象。
add 函数似乎有效,remove 方法仅在添加函数内部有效-
var boxes = [];
function addCircle(Cid, Ccolor, Cradius) {
boxes[Cid] = Bodies.circle((w/2), (h/2), Cradius, {
density: 0.0005,
frictionAir: 0.06,
restitution: 0.3,
friction: 0.01,
render: { fillStyle: Ccolor, strokeStyle: 'rgba(0,0,0,0)',
lineWidth: 0,
}
});
boxes[Cid].angle = Math.random() * 0.5;
boxes[Cid].force.y -= 0.0001;
World.add(engine.world, boxes[Cid]);
//World.remove(engine.world, boxes[Cid]); <-- This one works
}
function removeCircle(Cid) {
//console.log(boxes[Cid]);
World.remove(engine.world, boxes[Cid]); // <-- This one doesn't
}
控制台显示删除函数的错误“无法读取未定义的属性‘类型’”。有人可以告诉我如何解决这个问题吗?任何帮助和建议都将是非常可观的。