我正在使用C#,但这适用于开发任何语言的游戏。开发游戏 - 如何执行多个游戏循环?
大多数游戏使用一个“游戏循环”,这将是这个样子:
while (game is running)
{
UpdateEnvironment();
DrawEnvironment();
}
我竭力要了解的东西这将需要一个以上的游戏循环配合入方程。例如,使一个能量球从一个瓦片漂浮到另一个瓦片。或者让一个玩家移动一个图块(不是从一个图块跳转到另一个图块,而是对其进行动画处理)。
我想出了正在自上次循环所经过的时间,并将它传递给对象/方法,因此可以做它的事的最好的事情。但是,这使得它很难做的事情,如:
AI.MoveTo(10, 20); // Pathfind, then walk the path to this tile.
Player.Shoot(); // Shoot a bullet, and detect collisions and update along the way.
我在哪里可以找到“执行其需要超过一个游戏循环完成事件”的更多信息?
请参阅http://gafferongames.com/game-physics/fix-your-timestep/ – 2009-10-18 21:09:18