1

所以我在 Flash CS6 中为 Android/iOS 制作了一个 2D 益智/平台游戏。HitTestObject 是一个很棒的功能——我目前正在使用它——但我的问题在于物理学:

我想获取具有速度(二维矢量形式)的任意玩家对象,并能够将其从任意墙壁/障碍物/等上反弹。它可以以任意角度倾斜(例如,墙壁在屏幕中间某处的 y 轴下方 30 度处)。现在玩家对象可以在与它碰撞之前以任意角度移动。

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

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

4

1 回答 1

0

你说的是完全无弹性的碰撞。如果一个球体弹性地碰撞到一个平坦的墙壁上,它会保持相同的速度,但它的速度的方向分量都关于墙壁的法向量镜像。

于 2012-08-18T16:16:03.483 回答