我已經在網上看了一遍,無法找到以下的有效答案。 在Android中,當使用SurfaceView和Thread來簡化遊戲循環時,通常您的onDraw調用會永久運行。這對渲染事物來說很好,但是因爲你的遊戲邏輯也在這個循環中(檢查遊戲結束條件,鼠標事件等),如果你只有一次運行的代碼會怎麼樣?Android遊戲循環邏輯混亂
因爲我覺得這個不清楚,讓我舉個例子。
我正在與幾個州製作遊戲。當狀態設置爲標題時,遊戲循環執行titleScreenRendering()方法,該方法具有從0到1漸變的alpha的圖像;就像閃屏一樣。由於這個調用是在遊戲循環中,「titleScreenRendering」被調用9999999次,圖像衰落邏輯也是這樣,這顯然不起作用。
我發現其中一種感覺就像是黑客行爲的方法是隻做一個布爾值並在遊戲循環首次運行該方法時將其設置爲false,以便在999999後續調用中至少有部分代碼不再運行。
我在這裏做錯了什麼?我的設計是錯誤的,如果這是爲什麼99%的Android遊戲教程似乎主張這種方法?請讓有些聰明的人可以指引我走向正確的方向。我想自己做這個,但我很想用圖書館。
嗨,感謝您的回覆。所以你建議只使用一個布爾值來將我的代碼部分的執行限制到一次,並讓循環無限制地渲染?我覺得遊戲循環不應該像這樣工作。你爲什麼要調用像「initTitleScreen」9999倍而不只是一次?我認爲這是我設計時的錯誤 – Fenix
更新了我的答案 – Nocare