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