2013-05-15 52 views
1

我使用KinectJS創建自己的小繪圖程序。一切都很好 - 直到他必須從我的舞臺/圖層中刪除我的形狀。KinectJS - 無法刪除我的形狀

我用:

 layer.removeChildren(); 

從而消除了一切。這對於我的小項目來說有點小事:-( 我在一個圖層上繪製了多個圖形,我只需要定位一個圖形並將其移除即可)

這就是我如何「嘗試」目標形狀,重繪之前:

function drawElement(figureId) { 
     figureId = Number(figureId); 

     var figureOld = layer.get("#figure" + figureId)[0]; 

     layer.remove(figureOld); 

     //I Get the shape! 
     console.log(figureOld); 

     var fillColor = "blue"; 
     var strokeColor = "red"; 

     var targetedFigure = figuresArray[figureId]; 

     var userElement = new Kinetic.Shape({ 
      drawFunc: function (canvas) { 
       var context = canvas.getContext(); 
       context.beginPath() 
       $.each(targetedFigure.coords, function (i, item) { 
        context.lineTo(item.x, item.y); 
       }); 
       context.closePath(); 
       canvas.fillStroke(this); 
      }, 
      fill: fillColor, 
      stroke: strokeColor, 
      strokeWidth: 1, 
      id: "figure" + figureId, 
     }); 

     layer.add(userElement); 
     stage.add(layer); 
} 

謝謝您的時間:-)

更新,改變了:

layer.remove(figureOld); 

if (figureOld) { 
    figureOld.remove(); 
} 
  • 謝謝MARK! :)

回答

0

您可以刪除像這樣的任何特定形狀:figureOld.remove();