2012-12-03 60 views
1

我想用我在畫布上用KineticJS生成的形狀創建一種3D效果。 當我把它們拖到最高處時,需要變小,當拖到最下時,它們需要變大。mousemove kinetic上的改變半徑js

我得到了我想要的東西最接近的是與鼠標移動事件,你在這裏看到的

$.each(bubbles, function(){ 
var bubble = this; 
bubble = new Kinetic.Circle({x:this.x, y:this.y, radius:this.r, fill:'#000000', draggable:true}); 
bubble.on("mousemove",function(){ 
    bubble.setRadius((bubble.getY()/5)); 
}); 
layer.add(bubble); 

}); 

但這僅僅結束拖動,然後再次單擊形狀,當改變半徑。

這將是非常好的,如果我可以改變它們「實時」,當拖動。

有沒有人有任何想法如何解決這個問題? 這裏是我的JSFiddle http://jsfiddle.net/ZsADd/1/

謝謝!

+0

在你的小提琴中沒有氣泡?也許你應該加載你的運動庫。 – Tschallacka

+0

我的錯誤。我更新了鏈接。感謝您的注意。 – Decor

回答

2

我想你想要的是bubble.on("dragmove")Here is an example of it in action。有關拖動事件的更多信息,請查看我發現的文檔here

要檢測拖放事件與KineticJS,我們可以使用on() 法檢測dragstartdragmove,或dragend事件。方法on() 需要一個事件類型和一個函數在發生事件時執行。

+0

這正是我所期待的。現在我覺得在文檔中查看它很愚蠢。謝謝伊萬! – Decor