我已經做了大量關於拖動拉斐爾庫創建的對象的示例。現在我正在使用集合,並且還能夠編寫代碼來拖動它們。如何使用拉斐爾js庫拖動旋轉的形狀
現在當我旋轉一個物體然後拖動它時,出現了我的問題。
看看這個代碼示例:demo
var paper = Raphael('stage', 300, 300);
var r = paper.rect(50,100,30,50).attr({fill:"#FFF"}).rotate(45),
t = paper.text(30, 140, "Hello");
var p = paper.set(r, t);
r.set = p, t.set = p;
p.newTX=0,p.newTY=0,p.fDx=0,p.fDy=0,p.tAddX,p.tAddY,p.reInitialize=false,
start = function() {
},
move = function (dx, dy) {
var a = this.set;
a.tAddX=dx-a.fDx,a.tAddY=dy-a.fDy,a.fDx=dx,a.fDy=dy;
if(a.reInitialize)
{
a.tAddX=0,a.fDx=0,a.tAddY=0;a.fDy=0,a.reInitialize=false;
}
else
{
a.newTX+=a.tAddX,a.newTY+=a.tAddY;
a.attr({transform: "t"+a.newTX+","+a.newTY});
}
},
up = function() {
this.set.reInitialize=true;
};
p.drag(move, start, up);
通過檢查演示中,你可以看到集與旋轉矩形創建的,但一旦你拖動它,它會回到0度狀態。爲什麼?任何解決方案
可能不是OP使用的解決方案,但這解釋了爲什麼*。 – pjmorse