这仅适用于 Flash AS3 项目中的游戏。
玩家用枪控制一个角色。通过点击屏幕,枪以弧线向点击的点发射导弹。
为每一帧计算导弹的 x 和 y 坐标的最佳方法是什么?
这仅适用于 Flash AS3 项目中的游戏。
玩家用枪控制一个角色。通过点击屏幕,枪以弧线向点击的点发射导弹。
为每一帧计算导弹的 x 和 y 坐标的最佳方法是什么?
嗯,圆弧是圆的一部分。圆的一般公式是
x = r * cos(a) + cx
y = r * sin(a) + cy
其中r
是圆的半径,a
是沿圆的角度(以弧度为单位), 和cx
是cy
圆心的坐标。
所以每一帧你都会增加角度 ( a
) 并使用这些公式重新计算位置。
诀窍是确定适当的半径和中心点。您可能会想出一种算法,该算法可以根据固定半径找到中心点。
编辑:在不同的半径下获得相同的速度。
从角速度 (rad/sec) 获得速度 (pixels/sec)
v = Δa * r
因此,如果我们选择 some v
,那么Δa = v / r
其中 v 是某个常数,r 是圆的半径。
我认为导弹应该以弹丸而不是弧形路径飞行......
如果你真的在乎有一个真实的运动,研究一些物理方程。
如果你只想做一些简单的卡通动作,使用TweenMax的 bezier/bezierThrough 将非常容易。请参阅其插件资源管理器中的示例。
更新:对于简单的路径补间,葡萄动画库似乎也很棒!