我无法为我的 OpenGL 应用程序创建可靠的游戏引擎。这是一款由多个动作的精灵组成的游戏。
我创建的对象基本上都是我的精灵。另一个名为“gameEngine”的对象每隔几秒(一个计时器)循环执行一组计算,从而产生新的游戏变量。之后,精灵对象现在知道它们的绘图数据。
问题是,在收集了我所有的绘图数据后,绘图应该在正确的时间进行,从而产生稳定的动画。根据当前场景的复杂性,游戏计算需要不确定的时间量。因此,实际绘图发生在不同的时间点。我将如何防止这种情况发生?
为了澄清,我的方法是这样的:
// Every something of a second I call tick
-(void)tick
{
drawingData = gameEngine();
draw(drawingData);
}
必须有构建这样的游戏引擎的最佳实践我不知道吗?