我想通过使用圆半径和移动角度以圆周运动移动精灵。
例如,我知道精灵在半径为 10 的圆圈中移动,它的当前位置是 (387,38),角度是 28 度。现在我不想移动它说,沿着圆的周长 100 像素。
p1 = x&y coordinate, known (387,38) in example with movingangle 28 degrees
r = radius, known (10 in example)
l = distance to move along bend, known (100px in example)
p2 = new point, what is this x and y value?
我有一个可行的解决方案,但我不太喜欢它。这对我来说有点没有意义,它需要的计算比我认为的要多。它的工作原理是首先使用 p1 计算中心点,然后向后做同样的事情,可以说得到 p2(使用 cosinus 和 sinus)。我相信应该有一种更快的方法,但我找不到任何人这样做。
我标记 cocos2d 的原因是因为这就是我正在使用的东西,有时游戏框架会提供函数来帮助处理三角函数。