当物体以任意角度碰撞墙壁和障碍物时,如何以不同的角度拍摄逼真的反弹角度?

时间:2012-08-18 15:28:13

标签: actionscript-3 flash air physics collision

所以我在Flash CS6中为Android / iOS制作2D拼图/平台游戏。 HitTestObject是一个很棒的函数 - 我现在正在使用它 - 但我的问题在于物理学:

我想拍摄具有速度(以2d矢量形式)的任意玩家对象,并能够将其从任意墙壁/障碍物等处反弹。它可以以任意角度成角度(例如,墙壁在屏幕中间某处的y轴下方30度处)。现在,玩家对象可以在与其碰撞之前以任意角度行进。

现在我想如何设置它是使用Flash CS6的图形工具构建我的障碍,然后成为存储在库中的总体“Level”类的一部分。在任何地点和任何角度,地图上都可能存在许多障碍。我需要弄清楚如何逼真地将玩家从墙上弹开(我们将假设这一切都在空间中,因此没有摩擦或弹跳的动量损失)并获得正确的角度。玩家类不应该知道障碍类的尺寸,并且所有视觉交互游戏对象(如障碍物和玩家)都继承自GameObject类(它具有任何视觉对象的一些基本运动特征)。

我希望这一切都有意义......无论如何有人如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

你说的是完美inelastic collision。如果一个球体与一个平坦的墙壁发生弹性碰撞,它会保持相同的速度,但其速度的方向分量都会围绕墙壁的法向矢量进行镜像。