0

我正在为我的一个大学项目编写一个 opengl 程序。我没有使用 opengl 的背景,并且在坚持使用 MATLAB 三年后,我刚刚回到了 Visual C++(我不得不这样做!不要怪我!)。然而,在这个项目中,我应该创建一个多层次的游戏,令人惊讶的是,网上似乎没有这种游戏编程的教程或线索。我的游戏是在一个虚拟的长方形房间里进行的,如果玩家能得到足够的分数,游戏应该在一个不同形状的房间里重述等等(我们至少要有 6 个关卡)

现在,根据我在代码和主函数中广泛使用 glut 函数的事实,我知道没有办法打破 glutMainLoop(); 的循环;我想知道如何实现这种多级结构?

我应该摆脱 glut 并用 freeglut 或基本 gl 功能代替它吗?

我应该使用多线程作为解决方案吗?当我使用 Win32 控制台应用程序时是否可以?

4

2 回答 2

0

我应该摆脱 glut 并用 freeglut 或基本 gl 功能代替它吗?

我应该使用多线程作为解决方案吗?当我使用 Win32 控制台应用程序时是否可以?

这些都不会给你带来问题。

您可能确实对您的房间进行了编码。那是你的问题。不要硬编码几何或风景。

将您的游戏表示为数据结构。有一些游戏状态指向结构。在切换房间时,将指针更改为指向另一个实例。

于 2012-08-05T09:08:35.043 回答
0

您不需要任何东西替换 GLUT。OpenGL 代码将保持不变。你甚至不需要打破它的主循环。不过请考虑改用 freeGLUT,因为它是最新的。实现多级结构很棘手,但是如果您研究 3D 坐标系的工作原理,您应该能够自己提出一个合理的解决方案。

于 2012-08-05T18:41:44.040 回答