Cocos2d x實現資源熱更新詳解

2021-07-15 16:50:55 字數 1845 閱讀 5972

熱更新介紹

什麼是熱更新?

遊戲客戶端啟動時,主動請求服務端檢查版本號,並更新資源到本地。

應用場景:

情況一:遊戲客戶端已經發布了,但突然發現有個比較嚴重的bug需要修復。這時需要更新遊戲的**(lua**)。

情況二:情人節到了,需要搞個活動,在遊戲中營造乙個節日氛圍。這時,需要更新遊戲資源或增加一些功能。

好處:

不需要重新打包和提交應用到市場等待審核。

熱更新流程

在cocos2d-x中已經封裝了用於實現熱更新功能的類,就是assetsmanager。

api說明:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

// 檢測是否有版本更新

virtualboolcheckupdate();

virtualvoidupdate();

// 獲取當前客戶端版本號

std::string getversion();

// 刪除客戶端版本號

voiddeleteversion();

voidsetdelegate(assetsmanagerdelegateprotocol *delegate);

// 設定連線超時時間(單位:秒)

voidsetconnectiontimeout(unsignedinttimeout);

voidsetpackageurl(constchar* packageurl);

// 設定服務端獲取版本號的url

voidsetversionfileurl(constchar* versionfileurl);

// 設定資源儲存路徑

voidsetstoragepath(constchar* storagepath);

因為assetsmanager使用了pthread庫,所以需要在win32工程中需要包含pthread庫所在目錄。

vs在工程屬性——c/c++——常規——附加包含目錄中新增:$(projectdir)..\..\..\cocos2dx\platform\third_party\win32\pthread

步兵 cocos2dx 熱更新(上)

之前寫好的熱更,基本可以在專案中使用,接下來拿出來跟大家分享一下。話不多說,直接進入正題。總感覺兩行長度差太多不舒服,現在好了。先解除安裝 package.loaded model name nil cocos路徑快取,記得清,不然直接返回快取路徑 cc.fileutils getinstance ...

cocos2d x 資源集合

官網 主席子龍山人 archive 2011 08 08 2131019.html kmyhy的專欄 老g的小屋 cocos2d xtouch事件cocos2d 事件冒泡規律 和 ccmenu一直響應事件的解決辦法 swallow touches how to setmultipletouchena...

cocos2d x學習資源彙總(持續更新。。。)

補充一點 我選擇cocos2d x絕不是簡單地支援國產這麼簡單,cocos2d x真的很強大。關於遊戲引擎如何選擇的問題,請大家看這個帖子。下面列出的鏈結排名不分先後,呵呵,不一定要按順序讀。具體如何讀,以後摸熟悉了再跟大家分享。0.s amazing thank you supersuraccoo...