我有一个用JavaFX编程的俄罗斯方块游戏。我想将它翻译成C ++来学习C ++。我可以在C ++中使用什么来显示游戏循环的图形和时间,就像我使用JavaFX和AnimationTimer类一样?
答案 0 :(得分:3)
C ++实际上没有任何内置的图形兼容性。您需要学习API。
看看JavaFX,它似乎是一个3D渲染库。所以这真的取决于你想要的深度。
如果您想学习基线,引擎设计等,您可以直接学习OpenGL,它将教您所有3D图形的工作原理和OSL互操作的SDL2 http://wiki.libsdl.org/FrontPage。使用std :: chrono类可以轻松完成游戏循环的计时。
如果你想要一些稍微更高级别的东西,比如灯光之类的东西已经为你构建了,我会考虑使用现有的框架,它将为你提供游戏开发的实践经验。其中大多数使用脚本语言,如C#,Lua等.Unity C#非常适合这样的事情。如果C ++是主要考虑因素,虚幻引擎4有C ++绑定,但对于这么小的游戏来说它有点沉重,但是大多数游戏引擎只使用C ++来优化低级框架,脚本引擎挂在它们上面,以便在维护时轻松开发接近最佳表现。
Ogre是C ++开源引擎的另一个选项,它有很多文档。 http://www.ogre3d.org/这可能是2之间的幸福媒介。
如果您不关心3D图形并且只想在游戏中使用矩形/图像,那么像QT这样的东西也可以很好地工作,但这是一个GUI框架而不是它是一个游戏引擎,如果你想要的只是一个东西像俄罗斯方块一样好。