MatterJS удалить объектную функцию
Я работаю с помощью вещества.js над небольшим проектом, пытаясь добавлять и удалять объекты из мира материи с помощью функций js.
кажется, что работает функция добавления, метод удаления работает только внутри функции добавления.
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
}
консоль выдает ошибку "Не удается прочитать свойство 'тип' неопределенного" для функции удаления. Может кто-нибудь сказать мне, как это решить? Любая помощь и предложения будут действительно заметны.
1 ответ
Чтобы удалить тело из мира, вам нужно использовать Composite.remove(...)
,
Так что в вашем случае это будет:
Composite.remove(engine.world, boxes[Cid]);