cocos2d-lua整合到ios工程,即在ios原生應用中可以直接玩cocoslua開發的遊戲

前段時間配合其他部門把cocostudio做的動畫拿到ios原生引用中播放,把cocos2d-x做成靜態庫並保留了一個頭文件給ios那邊調用,可以實現ios調用cocos2d-x,最近又要實現cocos2d-lua版本的,思路差不多,不過最後是調用的腳本,可以把腳本直接看做資源,坑也有幾看踩踩填填就好啦。
我用的是cocos2d-x 3.12版本,如其他版本遇到不同的問題,也可以及時反饋,大家一起解決 ,共同進步哈。


1、生成libluacocos2d iOS.a 靜態庫,步驟如下
       (1)、如圖"001"打開cocos2d工程目錄下的cocos2d_lua_bindings.xcodeproj

        

       (2)、如圖"002"這裏選擇libluacocos2d iOS ,然後點擊Edit Scheme 選擇release模式編譯

 






(3)、不出意外的話,編譯成功後,如圖位置會出現libluacocos2d iOS.a文件,選中它,在如圖"003"最右邊的位置會看到文件位置,然後打開Finder ,按下command + shift + G 進入文件搜索,如圖"0031"把剛剛那個文件地址粘貼進去,找到libluacocos2d iOS.a文件如圖"0032",拷貝到如圖所示工程目錄下的cocos2d-x/build目錄下如圖"0033"

  
  
  
 

2、生成libsimulator.a靜態庫,步驟如下

  (1)、如圖"2(1)"打開cocos2d工程目錄下的libsimulator.xcodeproj


(2)、同(1)步驟生成libsimulator.a靜態庫,也拷貝到工程目錄下的cocos2d-x/build目錄下

3、生成libcocos2d.a靜態庫,步驟如下
  (1)如圖"3(1)"Classes文件拷貝到工程目錄下的cocos2d-x/build目錄下,打開cocos2d_libs.xcodeproj

 

(2)如圖"3(2)" "3(21)"添加Classes到工程中,這裏按圖示勾選

  
 




(3)
同樣的方式把之前生成的
libluacocos2d iOS.a
libsimulator.a
也添加進來


(4)1(2)的步驟選擇release模式編譯

(5)如圖"3(5)"選中PROJECT後在User Header Search Paths裏添加相應頭文件目錄,不然會出現各種找不到頭文件的錯誤。


 


(6)如圖"3(6)"選中TARGETS後在User Header Search Paths裏添加相應頭文件目錄。

 

(7)如圖"3(7)".m .cpp文件都拖到Compile Sources裏面


 

(8)如圖"3(8)"animationManager.h文件拖到Headerpublic中,其他頭文件拖到Project

 

 (9)執行Run編譯,不出意外的話會生成一個如圖"3(9)"libcocos2d iOS.a文件

 


4(1)如圖"4(1)"拷貝靜態庫libcocos2d iOS.a和頭文件AnimationManager.hios項目工程根目錄下

 

(2)並添加到項目中如圖"4(2)".

 

(3)如圖"4(3)"根據cocos2d工程給ios工程添加相應的庫


 (4)cocos2d-lua工程下的Resources整個拷貝到ios工程根目錄下,以group的方式如圖"4(4)"導入Resources,刪除掉裏面的文件,
再把裏面的文件包括srcres等以reference的方式添加進來如圖"4(42)",使其文件夾變成藍色(重點)如圖"4(43)"

  
  
 

(5)如圖"4(5)"在需要調用cocos2d的類中導入頭文件AnimationManager.h,並調用相應接口如圖"4(51)"


  
 

(6)如圖"4(6)"修改當前調用的類的後綴名爲.mm


 

(7)如圖"4(7)"注意修改模式爲release


 

(8)other linker flags 中添加 -pagezero_size 10000 -image_base 100000000   參考 https://segmentfault.com/a/1190000005021419

(9)運行在這裏會調用cocos2d接口 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章