對cocos2dx引擎的改動

最近用的引擎版本是cocos2dx-3.8.1-lua代碼, 考慮到之後會開發多款遊戲, 因此須要在cocos2dx上擴展一輕量級的框架,封裝經常使用的遊戲模塊,這個框架包括c++工程和lua工程, 思想相似於之前的quick-Cocos2dx框架java

爲了便於升級引擎,因此儘量的不對 cocos2dx引擎的代碼作改動, 可是不可避免要完成一些引擎的填坑工做node

如下是對cocos2dx引擎的修改點(記錄在此,之後升級引擎一樣要修改):android

  1. 修改CCLuaStack.cpp中的lua_release_print, lua_print中去掉打印Lua字符串頭, 將\t替換成4個空格(在mac上\t換行有問題)
  2. 修改mac/simulatorApp.mm 增長輸出日誌到文件,設置優先讀取路徑,去掉編譯mac模擬器拷貝腳本和資源的功能, 從優先路徑讀取便可
  3. 修改mac/ConsoleWindowController.m中的MAX_LINE_LEN MAX_LINES_COUNT 定義擴大輸出日誌行數限制
  4. 修改lua工程配置 將luajit刪除,改成引用lua,    因項目須要一套字節碼android/ios用一套字節碼維護,故暫時放棄luajit方案
  5. 將lua5.1.4升級爲lua5.1.5並移植代碼混淆方案(該方案基於quick3.3)
  6. 修改binder-generator/targets/lua/conversions.yaml中添加    LUA_FUNCTION : "${out_value} =  toluafix_ref_function(tolua_S,${arg_idx},0);ok &= ${out_value} != 0;"   這樣能夠支持LUA_FUNCTION的tolua導出(很奇怪的是cocos3.8.1去掉了這一行不知道目的何在?)
  7. 修改binder-generator/targets/lua/conversions.yaml增長dragonBones支持
  8. 修改AppDelegate.cpp增長加解密代碼, 修改進入前臺/後臺執行代碼 經邏輯刪除放在lua端,增長髮送前臺/後臺事件代碼
  9. 修改Android工程的Application.mk增長 APP_PLATFORM:=android-19 這樣用ndk10+編譯就不會報錯了
  10. 修改Android工程mk中的luajit應用改成lua

在此基礎上進行了擴展性封裝ios

  1. 輕量級c++框架工程cola  (包括加密,cjson ios支付,dragonbones, lfs, sqlite,  native窗體, pbc, lpack)
  2. lua框架工程cola (包括常量模塊,打印擴展, 設備相關擴展,方法擴展, label/node擴展 protobuf支持, Cache, 本地存儲支持, 龍骨動畫管理器, 廣播管理器, sdk平臺框架, 資源管理框架及通用接口編寫, lua經常使用ui btn/list/窗體/界面/場景基類/富文本封裝  加密/json解析/action/lua嗲用ocjava統一接口擴展, 不重啓直接刷新界面機制)
  3. tools用於編寫各類一鍵化腳本 (包括動畫打包生成腳本, 密鑰證書腳本,配置文件導出腳本, 字體文件生成腳本, android打包簽名上傳腳本, ios打包簽名上傳腳本, 字節碼及加密腳本,  so/靜態庫生成腳本, tps生成大圖腳本,  protobuf處理自動生成代碼腳本, tolua綁定腳本)

整個項目後續考慮支持c++

多語言框架支持/  增長更新腳本及代碼支持/  增量更新差別包支持/  sdk接入與完善/  日誌上傳支持/  spine測試與完善/  crash分析包支持/  shader支持/  AI行爲樹支持/  pomelo擴展支持/    sql

相關文章
相關標籤/搜索