2012-09-28 27 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