0
我對python和OpenGL仍然很陌生。我寫了一個簡短的代碼來移動汽車穿過z軸,here是我完全寫的代碼,如果需要在Python中暫停並重新啓動遊戲(opengl)
我想要做的是當用戶點擊「p」時暫停遊戲,重新啓動時「r」和退出程序時,「q」退出...完美的作品,但我也不能重新啓動,也沒有暫停比賽,儘管我所有的試驗,這裏是我寫的要考慮所有情況下,部分:
def keyboard (key,x,y):
if key == b"q" :
sys.exit(0)
if key == b"r" :
restart_program()
if key == b"p":
pause()
PS :我嘗試了Pygame自由,但它不能正常工作
任何幫助?!
這是一個很好的教程,幫助我與這個http://gamedevgeek.com/tutorials/managing-game-states-in-c/。基本上,你將所有的遊戲邏輯包裝到一個GameState對象中,然後你的「遊戲」成爲一個遊戲狀態處理程序。當你想暫停時,你的GameState會將控制權交給一個MenuState,導致GameState停止更新。 – Will
我的答案中的代碼意味着要成爲一個模板,您將不得不將所有當前的更新和繪圖代碼移動到名爲'UpdateAllTheThings'的函數中*並且*您必須讓所有移動的零件移動一定數量的sclaes ('glTranslatef(-2.5 + mov,-0.5,0.5 * 2.5)'=>'glTranslatef(-2.5+(mov * time_elapsed), - 0.5,0.5 * 2.5)')。這樣,傳遞0將防止移動,並且傳遞一個值(毫秒或其他)將隨着時間的推移而縮放自上次更新以來的移動。 – Will