- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个用 JavaFX 编写的俄罗斯方 block 游戏。我想把它翻译成C++来学习C++。我可以在 C++ 中使用什么来显示图形并为游戏循环计时,就像我使用 JavaFX 和 AnimationTimer 类所做的那样?
最佳答案
C++ 确实没有任何内置的图形兼容性。你需要学习一个API。
看JavaFX好像是个3D渲染库。所以这真的取决于你想走多深。
如果您想学习基线、引擎设计等,您可以直接学习 OpenGL,这将教会您所有 3D 图形工作原理和 SDL2 的基本原理 http://wiki.libsdl.org/FrontPage对于操作系统互操作。可以使用 std::chrono 类轻松完成游戏循环的计时。
如果您想要稍微高一点的东西,比如灯光等已经为您构建的东西,我会考虑使用现有框架,这将为您提供游戏开发的实践经验。其中大部分使用脚本语言,如 C#、Lua 等。Unity C# 非常适合这样的事情。如果 C++ 是主要考虑因素,Unreal Engine 4 具有 C++ 绑定(bind),但对于这么小的游戏来说它有点重,但大多数游戏引擎仅使用 C++ 作为其优化的低级框架,脚本引擎卡在它们上以便于开发,同时维护接近最佳性能。
Ogre 是 C++ 开源引擎的另一种选择,它有很多文档。 http://www.ogre3d.org/这可能是两者之间的一个愉快的媒介。
如果您不关心 3D 图形并且只想在您的游戏中使用矩形/图像,那么像 QT 这样的东西也可以很好地工作,但它是一个 GUI 框架而不是一个游戏引擎,如果您想要的只是一些东西就像俄罗斯方 block 一样。
关于c++ - 什么是等同于 JavaFx 和 AnimationTimer 类的 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513762/
判断这2个相似的Uris实际上相同的标准方法是什么? var a = new Uri("http://sample.com/sample/"); var b = new Uri("http://sam
这个问题在这里已经有了答案: Why does "true" == true show false in JavaScript? (5 个答案) 关闭 5 年前。 可能我很困惑,但我无法理解这个愚蠢
我是一名优秀的程序员,十分优秀!