iOS項目嵌入cocos游戲

最近項目要嵌入cocos游戲,記錄下嵌入過程。
環(huán)境:
cocos游戲是cocoscreator3.8.1導(dǎo)出的可運行iOS工程, 里邊引入了大量的cocos庫文件,主要生成了兩個靜態(tài)庫boost_container.a和cocos_engine.a文件

方案1:

  • 先跑一下cocos游戲,確保能正常跑通
  • 復(fù)制cocos游戲項目的Other Linker Flags配置到iOS項目
  • 復(fù)制cocos游戲項目的Header Search Paths配置到iOS項目
  • 游戲資源要在Build Phases加腳本導(dǎo)入(cocos游戲文件有同名文件),注意SRC路徑要改成資源實際的路徑
  • AppDelegateBridge.mm文件可以把渲染游戲的view傳過去(默認(rèn)window)
  • SystemWindow.mm文件getWindowHandle方法判斷_externalHandle
set -e
SRC="${PROJECT_DIR}/GoldRed/Resource/Game"
DST="${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data"

rm -rf "$DST"
mkdir -p "$DST"
rsync -av --delete "$SRC/" "$DST/"
  • 接下來就是僑接文件和調(diào)用的問題了,比如游戲的開始、暫停、恢復(fù)、回調(diào)等都要暴露出相應(yīng)的接口,還有個問題就是cocos游戲默認(rèn)是拿keywindow當(dāng)作游戲渲染試圖的,如果你只想把游戲放到某個view上,就需要在AppDelegateBridge初始化的時候把渲染view傳過去。
  • 以上完成之后,在iOS項目導(dǎo)入僑接文件正常調(diào)用就行了
  • 運行的時候有些地方可能會崩潰,注意查看是不是部分游戲文件內(nèi)存釋放問題(cocos游戲默認(rèn)mrc),如果是內(nèi)存的問題,可以在該文件后邊加-fobjc-arc,比如IOSPlatform.mm文件

方案2:

  • 整個配置做成pod庫,不再需要手動配置Build Settings
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容