2014-06-21 98 views
0

我有一個遊戲與圖像 - 我想在遊戲開始之前默默緩存它們。因此,我可以有兩種情況:緩存資源模式

  1. 代碼加載
  2. 緩存開始
  3. 緩存完成
  4. 用戶啓動遊戲
  5. 運行遊戲

OR

  1. 代碼被加載
  2. 緩存開始
  3. 用戶開始遊戲 - >顯示進展
  4. 緩存完成
  5. 運行遊戲

對於第二種情況,我可以傳遞給高速緩存使用回調來運行遊戲。但是由於第一種情況會發生,所以我不能這樣做,因爲我也必須等待用戶。

所以,現在我正在考慮有一個全球(ouch)變量,這將是一個回調onGameStart。默認情況下,它將顯示進度,但緩存回調會執行兩件事 - 重置onGameStart以實際啓動遊戲,並檢查遊戲是否已啓動,如果是,則會立即繼續。

我錯過了什麼嗎?這是正確的模式嗎?

+0

Nitpicking:這不是緩存。 –

+0

@DavidEhrmann,預取? – greenoldman

+0

它只是加載資源。當您在隨後的加載中再次需要資源時,緩存將發揮作用。 – Bart

回答

1

那麼,那些獲得當ResourceManager中已經取出所有的資源通知ResourceObserver?然後你的遊戲保持狀態,並且如果用戶在通知之前開始遊戲,則使用進度通知來更新屏幕,否則,跳到遊戲。

TL; DR:觀察+狀態機。