如何在AS3中为弧中的显示对象设置动画?

时间:2009-10-19 03:11:36

标签: flash actionscript-3 math physics

这是针对仅限闪存AS3项目的游戏。

玩家用枪控制角色。通过点击屏幕,枪可以将弧形导弹射到点击的位置。

计算每一帧导弹x和y坐标的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

嗯,弧是一个圆圈。圆的通用公式是

x = r * cos(a) + cx
y = r * sin(a) + cy

r是圆的半径,a是沿圆的角度(以弧度表示),cxcy是中心的坐标圈子。

因此,每个帧都会增加角度(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似乎也很棒!