1

这仅适用于 Flash AS3 项目中的游戏。

玩家用枪控制一个角色。通过点击屏幕,枪以弧线向点击的点发射导弹。

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

4

2 回答 2

5

嗯,圆弧是圆的一部分。圆的一般公式是

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

其中r是圆的半径,a是沿圆的角度(以弧度为单位), 和cxcy圆心的坐标。

所以每一帧你都会增加角度 ( a) 并使用这些公式重新计算位置。

诀窍是确定适当的半径和中心点。您可能会想出一种算法,该算法可以根据固定半径找到中心点。

编辑:在不同的半径下获得相同的速度。

从角速度 (rad/sec) 获得速度 (pixels/sec)

v = Δa * r

因此,如果我们选择 some v,那么Δa = v / r其中 v 是某个常数,r 是圆的半径。

于 2009-10-19T03:19:23.070 回答
2

我认为导弹应该以弹丸而不是弧形路径飞行......

如果你真的在乎有一个真实的运动,研究一些物理方程

如果你只想做一些简单的卡通动作,使用TweenMax的 bezier/bezierThrough 将非常容易。请参阅其插件资源管理器中的示例。


更新:对于简单的路径补间,葡萄动画库似乎也很棒!

于 2009-10-19T10:39:47.860 回答