2016-09-22 88 views
2

我正在與一個小項目上的matter.js,嘗試使用js函數添加和刪除事件世界中的對象。MatterJS刪除對象函數

附加功能似乎工作, 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 
} 

控制檯裏面添加顯示錯誤「無法讀取屬性未定義‘類型’」爲刪除功能。 有人可以告訴我如何解決這個問題嗎?任何幫助和建議都將非常可觀。

回答

0

要從世界中移除身體,您需要使用Composite.remove(...)

所以你的情況這將是:

Composite.remove(engine.world, boxes[Cid]);