大掌門開發(fā)經(jīng)驗(yàn)分享ppt課件_第1頁
大掌門開發(fā)經(jīng)驗(yàn)分享ppt課件_第2頁
大掌門開發(fā)經(jīng)驗(yàn)分享ppt課件_第3頁
大掌門開發(fā)經(jīng)驗(yàn)分享ppt課件_第4頁
大掌門開發(fā)經(jīng)驗(yàn)分享ppt課件_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論