计算物体之间的新速度(AABB)

时间:2013-10-16 01:58:26

标签: c++ collision-detection collision acceleration aabb

最近我一直试图用Direct2D在C ++中创建一个2D平台游戏引擎。我目前面临的问题是,在重力等加速度应用到对象之后,让彼此靠在一起的对象能够正确地进行交互。

现在我可以检测到碰撞并正确地对它们做出反应(我认为)当物体发生碰撞时,它们会记住它们对着的其他物体,以便物体可以被其他物体推动(注意任何碰撞都没有反弹)所以当物体发生碰撞时,它们会保证在发生其他事情之前就会休息。每次模拟前进时,对象的加速度都会应用于它们的速度(例如vx + = ax * t,其中t是自上次前进后经过的时间)。

在应用这些加速度之后,我想检查彼此相对的任何物体是否以与其对应物不同的速度移动(因为不同的物体可以具有不同的加速度),并且取决于该差异,要么取消连接这两个物体,他们不再休息,甚至不再是他们的速度,所以他们再次以相同的速度移动。我在创建一个可以在许多静止对象上执行此操作的算法时遇到了问题。

这是一个帮助解释我的问题的图表

http://i.imgur.com/cYYsWdE.png

0 个答案:

没有答案