0

我有一个用 javascript 和 Raphael.js 制作的小游戏(我对它还很陌生),而且我基本上正在制作一个炮塔,只是一个围绕它有一个矩形旋转的圆圈。而且效果很好,花花公子!转换代码是:

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

但是,我需要在动画后找到矩形的坐标,但 getBBox() 一直得到相同的坐标。有没有人有什么建议?转换的视觉图片将是: 在此处输入图像描述

所以我需要改造后的炮塔坐标。我需要找到炮塔的前部,这样我才能知道子弹需要从哪里出来!任何建议将被认真考虑!

4

2 回答 2

1

在此处输入图像描述

通过使用旋转数,将帮助您找到坐标。假设旋转角度为 q = 45 度。

这意味着ysin(q)x变化并由 a - a cos(q) 变化。

编辑

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

于 2013-11-04T22:35:41.900 回答
0

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

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

i - 角度 R - 炮塔宽度 x 和 y - 炮塔偏移

于 2013-11-04T21:16:35.503 回答