我正在寻找一个有助于计算弹丸运动轨迹的公式。我正在查看的答案位于以下网址:
Calculating Trajectory for Projectile Motion
该公式实际上似乎有效 - 除了它是根据屏幕坐标系的原点位于左下角的想法计算y位置。在Flash中,坐标系位于左上角角,y位置越高,它越远 down !这意味着,不是向上拱起,而是再次向下,弹丸向下,然后向上!
我需要找到一些方法来翻译我的y值,以便抛射物看起来像是在适当的抛物线中上下移动。有谁知道如何做到这一点?
有人请指教......
答案 0 :(得分:1)
看着你的链接(对不起,应该先看看这个,看看你用什么方法来计算你的动作 - 我假设你正在使用别的东西),如果你想要它去#' up&# 39;而不是' down'你可以在事件处理程序的第二行代码上翻转标志:
而不是:
cannonball.y = inity + Math.sin(angle) * initVelocity * Time - G * Time * Time * 0.5;
你可以去(添加括号):
cannonball.y = inity - (Math.sin(angle) * initVelocity * Time - G * Time * Time * 0.5);
推理是通过计算射弹应该在哪里的相对位置来进行上述工作,然后将其添加到初始Y以获得最终位置。添加使其向下移动'因为y + = 1会将一个物体向下移动。因为相反的y - = 1会使它向上移动,你可以减去而不是添加。