当前位置:  开发笔记 > 编程语言 > 正文

为OpenGL(ES)创建一个稳定的(帧率稳定的)游戏引擎

如何解决《为OpenGL(ES)创建一个稳定的(帧率稳定的)游戏引擎》经验,为你挑选了1个好方法。

我在为我的OpenGL应用程序创建一个可靠的游戏引擎时遇到了麻烦.这是一个由几个精灵组成的游戏.

我创建的对象基本上都是我的所有精灵.另一个名为"gameEngine"的对象每隔一秒钟(一个计时器)循环一组计算,从而产生新的游戏变量.之后,精灵对象现在知道他们的绘图数据.

问题是,在收集完所有绘图数据后,绘图应该恰好在恰当的时刻进行,从而产生稳定的动画.根据当前场景的复杂程度,游戏计算需要不确定的时间.因此,实际绘图发生在不同的时刻.我该如何防止这种情况发生?

为了澄清,我的方法类似于:

// Every something of a second I call tick
-(void)tick
{
  drawingData = gameEngine();
  draw(drawingData); 
}

必须有一个最佳实践来构建这样的游戏引擎,我不知道?



1> Arnold Spenc..:

游戏循环有很多种,但是更好的游戏循环将动画与绘图或更经典的术语模型和视图分开.基本上,您需要构建游戏模型,您可以在其中建立时间的流逝并更新模型(物理帧速率),然后在连续的时刻(渲染帧速率)独立渲染模型的快照.

这里有几篇文章更详细地解释了游戏循环的一些变化及其优缺点.还有源代码.我希望它有所帮助.

修复你的时间步!和 deWiTTERS游戏循环文章

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有