大多数游戏使用“游戏循环”,它看起来可能是这样的:
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.
我在哪里可以找到关于“执行需要多个游戏循环才能完成的事件”的更多信息?