2012-09-28 26 views

回答

2

我分叉您的jsfiddle(http://jsfiddle.net/phusick/ta65D/),并加入dijit/form/NumberSpinner(平移X &平移Y)的两个实例来移动蝴蝶感谢修改updateMatrix功能:

var updateMatrix = function() { 
    var translateX = xSpinner.get("value"); 
    var translateY = ySpinner.get("value"); 

    var centerX = 210 + translateX; 
    var centerY = 170 + translateY; 

    if(g) { 
     g.setTransform([ 
      m.rotategAt(rotation, centerX, centerY), 
      m.scaleAt(scaling, centerX, centerY), 
      m.translate(translateX, translateY) 
     ]); 
    } 
}; 

编辑:要添加鼠标DnD支持添加以下代码到上述:

var moveable = new Moveable(g); // require("dojox/gfx/Moveable") 
moveable.onMoved = function(mover, shift) { 
    xSpinner.set("value", xSpinner.get("value") + shift.dx); 
    ySpinner.set("value", ySpinner.get("value") + shift.dy); 
} 

当然,你不必使用NumberSpinner,但因为我把它放在那里它给你一个很好的反馈是怎么回事幕后前。在jsFiddle看到它:http://jsfiddle.net/phusick/ta65D/

+0

谢谢你的答案。蝴蝶形状可以随鼠标移动(按住蝴蝶移动它)。我的意图是移动形状,然后旋转它。 – mbecker

+0

在这里,请查看上面的答案和[jsFiddle](http://jsfiddle.net/phusick/ta65D/)。 – phusick