这是针对仅限闪存AS3项目的游戏。
玩家用枪控制角色。通过点击屏幕,枪可以将弧形导弹射到点击的位置。
计算每一帧导弹x和y坐标的最佳方法是什么?
答案 0 :(得分:5)
嗯,弧是一个圆圈。圆的通用公式是
x = r * cos(a) + cx
y = r * sin(a) + cy
r
是圆的半径,a
是沿圆的角度(以弧度表示),cx
和cy
是中心的坐标圈子。
因此,每个帧都会增加角度(a
)并使用这些公式重新计算位置。
技巧将是确定适当的半径和中心点。您可能会找出一种能够根据固定半径找到中心点的算法。
编辑:在不同的半径处获得相同的速度。
从角速度(rad / sec)获得速度(像素/秒)
v = Δa * r
因此,如果我们选择一些v
,那么Δa = v / r
其中v是常量,r是圆的半径。
答案 1 :(得分:2)
我认为导弹应该在抛射物而不是弧形路径上飞行......
如果你真的想要一个逼真的动作,请研究some physic equations。
如果你只想要一些简单的卡通动作,使用TweenMax的bezier / bezierThrough将非常容易。请参阅its plug-in explorer中的示例。
更新: 对于简单的路径补间,Grape Animation Library似乎也很棒!