1. 程式人生 > >坑在creator_to_cocos2dx 外掛(Mac下xcode)

坑在creator_to_cocos2dx 外掛(Mac下xcode)

C++/Lua 引擎支援

Cocos Creator 可以很高效的編輯場景和 UI,同時內建支援 JavaScript,這對 JavaScript 開發者十分友好。可是對於 C++/Lua 開發者,無法直接利用 Creator 高效的介面編輯功能,可能有一些遺憾。

為了去除這種遺憾,我們提供了 creator_to_cocos2dx 外掛,它允許開發者匯出 Creator 編輯的場景到 Cocos2d-x 的 C++/Lua 工程中。外掛邏輯上分為兩部分,第一部分是 Creator 的外掛,負責把 Creator 製作的場景匯出為 .ccreator

 檔案;第二部分是 reader,負責在 C++/Lua 工程中解析匯出的 .ccreator 檔案。

 

 

1.首先需要在cocos creator裡安裝creator_to_cocos2dx 外掛

有一個簡便的安裝如下圖:()

安裝在全域性擴充套件中額!!!c++ and lua for creator 外掛

匯出cocos creator裡托拉拽的場景如下:

 project path是匯出的.creator的檔案所在的路徑(隨意書寫,只要你能找到,後期需要將檔案add到cocos2dx-c++工程裡)

匯出後的檔案如下:

 

至於如何建立cocos2dx-c++工程請檢視:

【iOS-cocos2d-X 遊戲開發之一】在Mac下結合Xcode搭建Cocos2d-X開發環境

 

這樣就可以把開發者匯出 Creator 編輯的場景到 Cocos2d-x 的 C++/Lua 工程中了,關鍵的教程如下:

建立cocos2dx-c++工程目錄圖如下:

我們注意到這裡也有一個Classes和Resources資料夾

將上方匯出的.creator add 到工程中:如下(記住.creator的Classes資料夾裡的reader資料夾要到c++工程的Classes資料夾下,Resources資料夾下的creator資料夾要到c++工程Resources的資料夾下)

注意區分下藍色和黃色資料夾額!!!

如下圖:

這樣就可以了,開啟你的cocos-creator建立的場景在cocos2dx-c++工程裡執行,真是完美。

下面說下遇到的很多坑:

1,'dragonbones/cocos2dx/CCTextureData.h' file not found

這個是龍骨動畫檔案找不到的,在工程的header search path 裡填寫CCTextureData.h所在的工程裡的路徑就可以了,如下:

我的是

/Users/zhaotong/Desktop/cocos2dx/1120cocosTest/MyGame/Classes/reader

/Users/zhaotong/Desktop/cocos2dx/1120cocosTest/MyGame/Classes/reader/dragonbones/cocos2dx/CCTextureData.h

原理就是那個檔案找不到就新增那個路徑。

2.編譯的時候報clang出錯

Xcode 10升級報錯:clang: error: linker command failed with exit code 1(use -v to see invocation)

以及我的上篇:

更新X-code 10以及iOS12執行報錯的問題

3.上 面操作後,在iOS12.1真機下執行還是clang報錯

這個老司機會處理

方案如下:cocos2dx-c++工程裡的iOS編譯庫檔案裡選中真機,然後command+b編譯下,這樣就就了arm64的cpu裝置支援,同樣道理若是缺少模擬器的對應架構就選中對應的模擬器編譯下

 

最後真機cocos2dx-c++執行效果如下:

 

坑了2天一直碰到

'dragonbones/cocos2dx/CCTextureData.h' file not found

和clang報錯問題

官網也不夠細節化,只能百度,和自己摸索

在此感覺老司機的部分教程:

Cocos Creator如何匯入Cocos2d-x工程 【Mac】

https://blog.csdn.net/w1035524412/article/details/82863840

https://blog.csdn.net/ozhuimeng123/article/details/82776431

demo:

https://github.com/mrzhao12/creator_to_cocos2dx

最後感慨下: