我希望用圆的半径和移动角度让精灵以圆周运动的方式移动。
我知道例如精灵正在以半径10的圆上运动,其当前位置为(387,38),角度为28度。现在我想让它沿圆周周长移动100像素。
我有一个可行的解决方案,但我不太喜欢它。在我看来,这种方法有些不合理,需要的计算量也比我认为的要多。它的工作原理是先使用p1计算出中心点,然后再反过来做同样的事情,以获得p2(使用余弦和正弦)。我相信应该有一种更快的方法,但我找不到任何人正好这样做。
我标记cocos2d的原因是因为那是我正在使用的框架,有时游戏框架提供的函数可以帮助进行三角函数计算。
我知道例如精灵正在以半径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(使用余弦和正弦)。我相信应该有一种更快的方法,但我找不到任何人正好这样做。
我标记cocos2d的原因是因为那是我正在使用的框架,有时游戏框架提供的函数可以帮助进行三角函数计算。