我正在使用 raphael 为球设置动画,并且需要在停止动画后找出位置,这是我的代码:
ball.stop();
console.log(ball.attrs.transform);
// t399.6625490203161,180r180
如何将此字符串转换为球的 x,y 位置?
我正在使用 raphael 为球设置动画,并且需要在停止动画后找出位置,这是我的代码:
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;