2012-11-21 53 views
0

我的代碼here有些部分:如何通過kineticjs中的某個點拉線/多邊形?

var stage = new Kinetic.Stage({ 
     container: "canvas", 
     width: 300, 
     height: 200 
    }); 

    var layer = new Kinetic.Layer({ 
    }); 
    var line = new Kinetic.Polygon({ 
     id: 'wall', 
     points: [50, 50, 100, 50, 100, 100, 50, 100], 
     stroke: "black", 
     strokeWidth: 4, 
     draggable: true 
}); 
    line.on('dragmove', function(mouseEvent) { 
     line.getPoints()[2] = {x:mouseEvent.x, y:mouseEvent.y}; 
     layer.draw(); 
}); 

stage.add(layer); 

layer.add(line); 
layer.draw(); 

的任務是由一個角(通過右下方的示例中)拖動多邊形。但實際結果並不是我所期望的。我的代碼有什麼問題?或者通過其中一點來移動elemten的正確方法是什麼?

+0

你的意思是,你想只能拖動形狀的角落,而不是兩側?預定的頂點是否在變化? 現在你正在將右下角(line.getPoints()[2])設置爲mouseEvent,這顯然會導致翹曲和其他一些問題。 –

+0

是的,我想只拖動矩形的一個角落,其他角落應該是靜態的,留在最初的地方。 – rdo

回答

2

退房這個職位iOS6 pull/drag border on circle

的影響是相似的,我想,你在找什麼。通過檢測點擊/觸摸位置,您可以在任意角落製作動畫。

讓我知道你是否需要另一個例子。

相關問題