我正在为我的一个大学项目编写一个opengl程序。我没有与opengl一起工作的背景,并且在三年坚持MATLAB之后我刚回到Visual C++(我必须!不要责怪我!)。然而,在这个项目中,我应该创建一个多层次的游戏,并且令人惊讶的是,似乎没有关于这种类型的游戏编程的教程或线索。我的游戏发生在一个虚拟的长方形房间中,如果玩家可以获得足够的分数,游戏应该在不同形状的房间中重复,等等(我们必须至少有6个级别)使用Win32控制台应用程序重复基于Glut的OpenGL程序
现在,根据我在我的代码中广泛使用了glut函数以及我的主函数,并且我知道没有办法打破glutMainLoop()的循环;我想知道如何实现这种多层次结构?
我应该摆脱过剩,并用freeglut或基本的gl函数替换它?
我应该使用多线程作为解决方案吗?当我使用Win32控制台应用程序时可以吗?
谢谢你的建议datenwolf。这很鼓舞人心。为了确保理解你,我应该这样写: //全局变量 Struct RoomShape {...}; int得分; DarwRoom(){... 绘图 RoomShape ... } 鼠标(){... 如果 (按钮= GLUT_LEFT_BUTTON) 如果(得分> MAX) //改变RoomShape } 非常感谢您的指导 – 2012-08-06 00:12:03
@OmidRanjbar:是的。但你也可以预先准备好几个房间形状结构,然后重定向一个指针。实际上并不是唯一一个正确的方法。它完全取决于你的问题。我唯一能想到的就是不要硬编码你的几何体(即使它也可以切换)。 – datenwolf 2012-08-06 07:54:02