我正在学习Javascript / Raphael并陷入了应该是非常简单的解决方案。我需要用鼠标移动和旋转一些数字,但当我旋转它们时(双击):
rect1.dblclick(function() {
this.rotate('90');
});
我用来跟踪鼠标的参考点也会被旋转。在Processing中我会使用pushMatrix()和popMatrix(),但我找不到类似Raphael的东西,也没有使用save()和restore()画布的任何简单例子(...不确定它们是否可以在这里使用)
var canvas = document.getElementById("the_canvas");
var paper = Raphael(canvas, '500', '500');
var rect1 = paper.rect(380,10,100,50).attr({fill: '#ddd', 'stroke': 'none', opacity: '0.8'});
var startX, startY;
function onstart() {
startX = this.attr('x');
startY = this.attr('y');
}
function onend() {
}
function onmove(dx, dy) {
this.attr({
x: startX + dx,
y: startY + dy
});
}
rect1.drag(onmove, onstart, onend);
//// ... problem here
rect1.dblclick(function() {
this.rotate('90');
});
干杯,