版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、開發(fā)閱歷分享歐陽劉彬owenplaycrab代講人:曲寧quningplaycrabwhy cocos2d-x ?why lua ?跨平臺(tái)靈敏動(dòng)態(tài)更新容錯(cuò)開發(fā)速度根本情況基于cocos2d-1.0.1-x-0.13.0-beta封裝了一些C的接口事件管理、UI控件、網(wǎng)絡(luò)通訊、加解密一切游戲邏輯運(yùn)用lua實(shí)現(xiàn)版本更新代碼加密錯(cuò)誤檢查接口封裝版本更新Waiting For Review版本更新 - 問題In ReviewReady for SaleRejected初次提交審核需求一個(gè)月后續(xù)更新審核需求一周審核周期長版本:1.0.1更新日志:修復(fù)XX bug更新大?。?08MB版本:1.2更新日志:
2、添加XX玩法更新大?。?08MB版本更新 - 問題每次更新都需求下完好的包,用戶體驗(yàn)差版本更新 - 處理方案一切游戲邏輯用lua實(shí)現(xiàn)游戲內(nèi)更新:游戲晉級(jí)時(shí)只更新lua文件及時(shí),隨時(shí)可以更新快速,增量更新,只需求下載更新部分游戲啟動(dòng)過程檢查版本,當(dāng)前版本號(hào)1最新版本號(hào)2前往需求更新的文件列表用戶登錄,版本號(hào)2前往玩家數(shù)據(jù)更新文件方案1: 存一份代碼,代碼晉級(jí)時(shí)更新對(duì)應(yīng)的文件script/a.luascript/a.lua客戶端只需一個(gè)版本,不能快速回滾script/v1/a.luascript/v1/b.luascript/v2/a.luascript/v2/b.lua方案2: 每個(gè)版本存一份代
3、碼v1v2,只需a.lua變化了,b.lua沒有變化不變化的代碼不能復(fù)用,空間浪費(fèi)方案3用文件內(nèi)容的md5sum做文件名用sqlite數(shù)據(jù)庫管理文件名的映射關(guān)系自定義lua loader打包流程script/a.luascript/b.luascript/7c66a970f98841fb02a81236a762fcd8script/3c4b428e550db809f5aa64eb415b1reslib - sqlite數(shù)據(jù)庫require “a自定義的lua loader查詢r(jià)eslibversion 1 reslibversion 2 reslibscript/7c66a970f98841f
4、b02a81236a762fcd8luaL_loadbufferscript/9970fd7451c27862410ef6e604e3e3bdrequire “b自定義的lua loader查詢r(jià)eslibversion 1 tableversion 2 tablescript/3c4b428e550db809f5aa64eb415b1luaL_loadbuffer代碼加密打包流程script/a.luascript/b.luascript/7c66a970f98841fb02a81236a762fcd8script/3c4b428e550db809f5aa64eb415b1reslib -
5、sqlite數(shù)據(jù)庫加密require “b自定義的lua loader查詢r(jià)eslibscript/3c4b428e550db809f5aa64eb415b1luaL_loadbuffer解密luaL_loadbuffer問題700多個(gè)lua文件,200多個(gè)配置文件加密之后,無法緊縮,安裝包體積變大性能?script/3c4b428e550db809f5aa64eb415b1先解密,再解壓luaL_loadbufferscript/b.lua先緊縮,再加密打包過程游戲運(yùn)行時(shí)0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 原始文件只
6、加密壓縮&加密文件大小(kb)安裝包中文件總大小數(shù)據(jù)對(duì)比在 iPhone 5上加載總共700+ lua文件和200+配置文件05001000150020002500原始文件只加密壓縮&加密加載時(shí)間(毫秒)加載時(shí)間數(shù)據(jù)對(duì)比在 iPhone 5上加載總共700+ lua文件和200+配置文件05001000150020002500原始文件只加密壓縮&加密加載時(shí)間(毫秒)讀取文件解密解壓縮數(shù)據(jù)對(duì)比在 iPhone 5上加載總共700+ lua文件和200+配置文件android ?024681012加載單個(gè)文件的時(shí)間時(shí)間(毫秒)從SD卡讀取從APK讀取數(shù)據(jù)對(duì)比02000400
7、0600080001000012000原始文件加密壓縮&加密累計(jì)加載時(shí)間(毫秒)iOS加載時(shí)間android加載時(shí)間?android上,初次安裝完成之后,把腳本文件從apk中展開到SD卡數(shù)據(jù)對(duì)比020004000600080001000012000原始文件加密壓縮&加密累計(jì)加載時(shí)間(毫秒)iOS加載時(shí)間android從APK加載時(shí)間android從SD卡加載時(shí)間錯(cuò)誤捕獲錯(cuò)誤捕獲int lua_pcall (lua_State *L, int nargs, int nresults,int msgh);msgh is the stack index of a message ha
8、ndler1. 捕獲詳細(xì)的錯(cuò)誤堆棧2. 彈框顯示錯(cuò)誤堆棧信息只在開發(fā)方式翻開3. 將錯(cuò)誤信息上傳到游戲日志效力器int CCLuaEngine:executeGlobalFunction(const char* functionName)lua_pushcfunction(m_state, my_error_handler);lua_getglobal(m_state, functionName);if (!lua_isfunction(m_state, -1)lua_pop(m_state, 1);lua_pop(m_state, 1);return 0; int error = lua_p
9、call(m_state, 0, 1, -2); .string airmud.ares.control.duomiji.DuoMijiHandleCo.:27: attempt to index field battleResult (a nil value)=Cnil-1nilCLuamethod27executestring airmud.ares.control.duomiji.DuoMijiHandleCo.Luamethod78executestring playcrab.legs.basemandMapLuamethod64routeEventToCommandstring pl
10、aycrab.legs.basemandMapLualocal27pcLuaFunctionstring playcrab.legs.basemandMapLuanil90nilstring bootstrap.PCToluaEventSupportCmethod-1dispatchEventCLuamethod55dispatchstring playcrab.legs.mvcs.ActorLualocal199onOkstring airmud.ares.server.DuoMijiServerLuanil73nilstring airmud.ares.servermunicateWithWaitingtail-1(tail call)tail-1(tail call)Luamethod157finishstring bootstrap.NetManagerLuanil40nilstring bootstrap.NetManager接口封裝接口封裝常用方式tolua+我們的問題平臺(tái)相關(guān)的接口io
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆湖南省長沙市三校高三接軌考試數(shù)學(xué)試題理試題
- 2024屆湖南平江二中高三月考卷(六)數(shù)學(xué)試題
- 軍訓(xùn)學(xué)生頒獎(jiǎng)詞
- 標(biāo)準(zhǔn)生態(tài)茶園建設(shè)技術(shù)規(guī)范
- 半導(dǎo)體單晶硅生長用石英坩堝生產(chǎn)規(guī)范編制說明
- 介質(zhì)浴盤管式焦?fàn)t上升管荒煤氣余熱利用技術(shù)規(guī)范
- 2024年計(jì)算機(jī)輔助類工具軟件項(xiàng)目建議書
- 專題03 化石的奧秘-2023年小升初科學(xué)專項(xiàng)復(fù)習(xí)講練測(蘇教版)
- 專題1 植物的生長變化-教科版科學(xué)四年級(jí)下冊專項(xiàng)復(fù)習(xí)
- 2024年民宿項(xiàng)目發(fā)展計(jì)劃
- 實(shí)驗(yàn)一基爾霍夫電流定律的multisim驗(yàn)證實(shí)驗(yàn)
- 摩托車規(guī)范化設(shè)計(jì)-實(shí)用手冊(2010.7.18)
- 新供應(yīng)商審廠表
- w5500開發(fā)板原理圖.
- 小兒采血的技巧ppt課件
- 部編版二年級(jí)道德與法治上冊第二單元《我們的班級(jí)》全部教案(共6課時(shí))
- 光榮升旗手PPT課件
- EDCS-7460-使用說明書V3.01(55-61)(共124頁)
- 公立醫(yī)院與私立醫(yī)院區(qū)別
- 電信英語知識(shí)
- 幼兒教師教育科研小課題:小班幼兒良好行為習(xí)慣養(yǎng)成的研究——幼兒入廁
評(píng)論
0/150
提交評(píng)論