我有一個簡單的C++和OpenGL遊戲,玩家可以拍攝目標。我想讓玩家在任何時候按'R'來重新開始遊戲,這會重置目標,玩家位置等。我的遊戲大多存在於主功能中,它首先設置物理和網格數據,然後我有一個do-while循環,每幀都繪製目標。如何讓遊戲隨時重新啓動?
我目前用GLFW捕捉用戶點擊Esc(在do-while循環中),這樣我就可以關閉窗口,但是我怎麼會重新開始遊戲?
我是否需要手動重置遊戲的變量,玩家位置,重畫目標等,還是有辦法在跳轉到遊戲循環之前跳轉並重新開始?
謝謝,如果這是微不足道的道歉。
編輯: 我現在有這樣的事情:
main() {
initialise window;
get mesh vertices;
set textures;
initialise Bullet physics;
do {
ray picking;
render targets and walls;
} while (glfwGetKey(window, GLFW_KEY_ESCAPE) != GLFW_PRESS &&
glfwWindowShouldClose(window) == 0);
}
聲音非常廣泛。提供一些重新從主循環重新開始遊戲的事件。 –
如果您已經使用model-command-view系統編寫了遊戲,那麼暫時刪除視圖應該不成問題。如果你不分青紅皁白地混合了模型,命令和視圖代碼,將它分離出來可能是一項相當大的工作, –