我在javascript和Raphael.js(我相当新手)制作了一个小小的游戏,我本来就是制作一个炮塔,只是一个围绕它旋转的矩形的圆圈。这工作正常,花花公子! 转换代码是:
this.self = this.self.animate({ transform : this.transform }, 250);
但是,我需要在设置动画后找到矩形的坐标,但getBBox()会保持相同的坐标。有没有人有什么建议?变换的视觉图片将是:
所以我需要转换后的炮塔坐标。我需要找到炮塔的前部所以我知道子弹需要从哪里出来!任何建议将不胜感激!
答案 0 :(得分:1)
通过使用旋转编号,将帮助您找到坐标。让我们说旋转天使是q = 45度。
这意味着{em} sin(q)和y
的{{1}}更改了a - a cos(q)。
修改强>
注意所有情况。在这种特殊情况下,两个坐标都减少了,但如果转向东南,则x
增加,y
减少。或者如果西北:x
和y
减少。
答案 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 - 炮塔偏移