Raphael.js变形后得到矩形坐标

时间:2013-11-04 21:01:09

标签: javascript raphael

我在javascript和Raphael.js(我相当新手)制作了一个小小的游戏,我本来就是制作一个炮塔,只是一个围绕它旋转的矩形的圆圈。这工作正常,花花公子! 转换代码是:

this.self = this.self.animate({ transform : this.transform }, 250);

但是,我需要在设置动画后找到矩形的坐标,但getBBox()会保持相同的坐标。有没有人有什么建议?变换的视觉图片将是: enter image description here

所以我需要转换后的炮塔坐标。我需要找到炮塔的前部所以我知道子弹需要从哪里出来!任何建议将不胜感激!

2 个答案:

答案 0 :(得分:1)

enter image description here

通过使用旋转编号,将帮助您找到坐标。让我们说旋转天使是q = 45度。

这意味着{em} sin(q)和y的{​​{1}}更改了a - a cos(q)。

修改

注意所有情况。在这种特殊情况下,两个坐标都减少了,但如果转向东南,则x增加,y减少。或者如果西北:xy减少。

答案 1 :(得分:0)

变换只是一种视觉效果,它不会影响坐标。 你知道炮塔的宽度,你知道旋转角度。 使用sin& cos计算新的坐标。

X = Math.cos((i * Math.PI)/ 180)* R + x; Y = Math.sin((i * Math.PI)/ 180)* R + y;

我是 - 角度 R - 炮塔的宽度 x和y - 炮塔偏移