如何在没有固定时间步长的情况下进行碰撞检测?

时间:2013-10-24 13:58:54

标签: collision-detection game-physics

我正在做一个带有简单碰撞检测的炸弹人克隆。从理论上讲,如果游戏打嗝一秒钟,那第二个游戏将作为增量时间传入,并且如果移动到位置有效,则碰撞检测甚至可能看不到挡板。是一个固定的时间步骤解决这个问题还是有另一种算法或方法处理简单的矩形碰撞,我错过了?

1 个答案:

答案 0 :(得分:0)

对于一个简单的2D游戏,我认为一个固定的时间步骤将是最简单的答案。如果在处理过程中继续移动,则玩家将无法在需要时采取规避行动,并且会感到沮丧。

但是,您可以根据速度修改对象的边界矩形,然后在检测到碰撞时细分时间间隔。

例如,如果一个对象的边界矩形为{y_top,y_bottom,x_left,x_right}并且以每秒{delta_x,delta_y}的速度移动,那么在时间t中,移动的距离为{{1用于碰撞检测的边界矩形可以按如下方式计算:

{delta_x * t, delta_y * t}