我正在爲我的一個大學項目編寫一個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