在mousemove kineticJS上改变半径

时间:2012-12-03 15:41:13

标签: javascript html5-canvas kineticjs mousemove

我想用我在画布上用KineticJS生成的形状创建一种3D效果。 当我将它们拖到顶部时,需要变小,当拖到底部时,它们需要变大。

我最接近我想要的是你在这里看到的mousemove事件

$.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/

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你想要的是bubble.on("dragmove")Here is an example of it in action。有关拖动事件的更多信息,请查看我找到的文档here

  

要使用KineticJS检测拖放事件,我们可以使用on()   检测dragstartdragmovedragend事件的方法。 on()   方法需要一个事件类型和一个函数来执行   事件发生。