在libgdx中,screen.setScreen()
沒有自動調用處理權。在覆蓋的setScreen中,是否必須先撥打screen.dispose
,然後致電super.setScreen
或先致電稍後再撥打電話? 我知道這可能看起來像重複的問題,但我仍然想知道,因爲super.setScreen
調用screen.hide
。在dispose
運行時安全後是否調用hide
? 這是不好的做法嗎? 我正在製作一款基於this和this示例的3D遊戲。 在這裏,我將GameName
類擴展爲Game
,並嘗試覆蓋setScreen
,以便在屏幕不爲空時調用dispose,然後調用super.setScreen
。在LibGDX的Screen.dispose()之後調用Screen.hide()是否安全?
0
A
回答
0
screen.dispose()
永遠不會被LibGDX調用。您必須在將參考放到屏幕前自行手動進行。如果您不打算重複使用Screen實例,請撥打撥打電話screen.dispose()
是完美的地方。
screen.hide()
永遠不會響應Android事件而被調用。
我不建議重寫game.setScreen()
來處理屏幕,除非您確定不會重複使用任何屏幕實例。在大多數簡單的遊戲中,您確實想要重複使用它們,而不是浪費時間重複地卸載和重新加載資源。
0
兩種類型的一次性資產(SpriteBatch,Texture,Stage,...),其中一種在不同的屏幕上共享,另一種特定於特定的屏幕。
共享資產應該從遊戲的
dispose()
方法處置。屏幕特定資產應通過
dispose()
屏幕的方法處理,但屏幕的dispose()從未調用,因此您需要明確調用它。
當你改變你的屏幕hide()
調用,所以你應該從hide()
方法調用dispose()
方法屏幕的方法。
相關問題
- 1. 在.Set之後直接調用.Close(.Dispose)EventWaitHandle是否安全?
- 2. 在調用Icon.ToBitmap()之後處理圖標是否安全?
- 3. 在通過MQ進行安全調用之後無法調用安全的webservice
- 4. 在Visual Studio 2008之後安裝VC++ 6.0是否安全?
- 5. 在.NET中調用SmtpClient.Dispose()是否安全?
- 6. 在onDestroy()被調用後重用Fragment是否安全?
- 7. 在init_timer()之前調用timer_pending()是否安全?
- 8. 安裝.Net 4.0 RC之後安裝.Net 3.5 SP1是否安全?
- 9. 在window.onload之前window.innerWidth是否安全?
- 10. 在執行之前調用的回調之前,在FirebaseAuthClient實例上調用方法是否安全?
- 11. 在boost :: asio :: async_read之後操作streambuf是否安全?
- 12. 這個場景在libgdx中是否線程安全?
- 13. 是否在pid比賽後pwrite安全?
- 14. 從main()調用LoadLibrary是否安全?
- 15. 調用sizeof(* s.begin())是否安全?
- 16. 我是否必須在安全演員之後檢查是否爲空?
- 17. 在BeginInvoke調用中安裝lock()是否安全?
- 18. 在非事件調度線程中調用fireTableRowsUpdated()是否安全?
- 19. 在調用Imaging.CreateBitmapSourceFromHIcon之後可以安全地放置圖標嗎?
- 20. 應用程序停止後,在AsyncTask中調用publishProgress()是否安全?
- 21. websocket連接建立後是否安全?
- 22. 無狀態後端是否安全?
- 23. dynamic_casting後刪除指針是否安全?
- 24. 交易後碰撞是否安全?
- 25. 使用@@ DBTS在INSERT後檢索新的rowversion是否安全?
- 26. 在UI線程中調用WebView的loadData()是否安全?
- 27. 在設定的時間間隔內調用QCoreApplications.processEvents()是否安全?
- 28. 在主線程上調用ConnectivityManager的requestNetwork()是否安全?
- 29. 在持有互斥鎖的同時調用pthread_create是否安全?
- 30. 使用TitanDB是否「安全」?
但在Android中,當用戶接到電話或遊戲失去焦點時,hide會被調用。因此,在隱藏內部添加處理是個壞主意。 – Anutrix
@Anutrix什麼認爲屏幕的hide()方法調用Android的hide()。兩者都是不同的方法。 – Aryan
@Anutrix,不,它不。當遊戲失去焦點時,會調用'pause()',但不會'hide()'。 – Tenfour04