2
我使用拉斐爾動畫球,需要停止動畫之後,找出位置,這裏是我的代碼:如何找到拉斐爾元素的位置?
ball.stop();
console.log(ball.attrs.transform);
// t399.6625490203161,180r180
我怎麼這個字符串轉換成X,的y位置球?
我使用拉斐爾動畫球,需要停止動畫之後,找出位置,這裏是我的代碼:如何找到拉斐爾元素的位置?
ball.stop();
console.log(ball.attrs.transform);
// t399.6625490203161,180r180
我怎麼這個字符串轉換成X,的y位置球?
您可以使用Element.getBBox
此:
var x = ball.getBBox().x;
var y = ball.getBBox().y;
var r = ball.getBBox().height/2;
console.log(x, y, r);
但要注意:
座標(element.getBBox().x
,element.getBBox().y
)將參照邊框的左上角。
如果球是一個圓圈,那個點甚至不會包含在該圓圈中,並且使用該中心的座標可能更明智。
鑑於邊框bbox
,這些將是
var x = bbox.x + bbox.width/2,
y = bbox.y + bbox.height/2;
點上。一個警告:座標(element.getBBox()。x,element.getBBox()。y)將引用邊界框的左上角。如果球是一個圓圈,那麼該點甚至不會包含在該圓圈中,使用該中心的座標可能更明智。給定邊界框'bbox',那些是'x = bbox.x + bbox.width/2','y = bbox.y + bbox.height/2'。 – 2012-08-06 16:45:45
@KevinNielsen,非常好的除了謝謝,我希望你不介意我將你的評論複製到答案中,因爲它非常重要! – 2012-08-06 17:10:03
絕對。我喜歡你用「但要小心」=)乾杯的方式乾杯! – 2012-08-06 17:16:21