让cocos2d-x 3.0读取cocostudio中的csb文件
讓cocos2d-x 3.0讀取cocostudio中的csb文件
??? ? ?現(xiàn)在cocostudio的功能越來越完善,還支持導(dǎo)出二進(jìn)制的csb文件。可惜現(xiàn)在項(xiàng)目使用的還是3.0版本,不支持csb解析,總不至于為了一個(gè)解析功能將整個(gè)庫升級吧,這也太小題大做了。因?yàn)檫@個(gè)csb文件只是將明文的*.ExportJson文件變成二進(jìn)制的,我猜測只是文件解析略有不同,其他使用都無須改變,所以現(xiàn)在我現(xiàn)在的思路是僅替換文件解析的類。
?以一個(gè)骨骼動畫為例(項(xiàng)目資源和源碼在文章下面下載),3.0中加載并播放一個(gè)骨骼動畫的代碼是:
[cpp]?view plaincopy
?可以看出,第一行就是加載ExportJson文件,但如果換成"DemoPlayer.csb"打開出錯(cuò),為什么呢?前面已經(jīng)說過,3.0不支持了=。=!!
廢話太多了。。。下面是詳細(xì)步驟:
1 復(fù)制源碼:跟進(jìn)addArmatureFileInfo()可以發(fā)現(xiàn)CCS資源的解析是由DataReaderHelper類提供的,因此從3.2的cocos/editor-support/cocostudio目錄下復(fù)制CCDataReaderHelper和CocoLoader源文件(.h和.cpp)共四個(gè)文件到3.0的cocos/editor-support/cocostudio目錄下替換掉原來文件。
2 然后在工程中將CocoLoader.h和CocoLoader.cpp添加到cocostudio目錄中:
3 修改CCDataReaderHelper.cpp中的錯(cuò)誤。
?????? (1) 頭文件路徑不一樣,去除"base/"。如#include "base/CCDirector.h"改為#include "CCDirector.h",把下面兩個(gè)CCScheduler.h和ccUtils.h路徑也改了。
? ? ???(2) 將Vec2類名改稱Point,共兩處,仔細(xì)看報(bào)錯(cuò)。(3.2中Point類名又被改成Vec2了,可憐的Point又一次被改名了。。。)
? ? ???(3) CCDataReaderHelper.cpp還有十幾處Use of undeclared identifier 'utils'錯(cuò)誤,這是因?yàn)?.0擴(kuò)展了ccUtils.h,增加了幾個(gè)新功能,修改方法見第4條。
4 跟進(jìn)ccUtils.h中,也可以直接在cocos/2d/support目錄下找到。
? ? ???(1) 在.h中加入以下頭文件:
[cpp]?view plaincopy? ?? ? ???(2) 在.h的cocos2dx命名空間內(nèi)加入以下代碼: [cpp]?view plaincopy
[cpp]?view plaincopy
5 至此就大功告成了,但是如果仍報(bào)CocoLoader與CCDataReaderHelper的鏈接錯(cuò)誤,那么需要手動在"cocos2dx IOS"的"Build Phases"上手動添加CocoLoader的.h和.cpp文件。下面給出添加步驟:
(1) 選擇項(xiàng)目目錄下的"cocos2d_libs.xcodeproj",在右邊"build all libs iOS"下面的"cocos2dx iOS"庫(如果要在Mac上運(yùn)行,則選擇"build all libs Mac"下面的"cocos2dx iOS"庫),再選中右邊的"Build Phases"。如下圖:
??????? (2) 點(diǎn)開"Compile Headers",再點(diǎn)擊"+"號,添加CocoLoader.h進(jìn)去,此時(shí)h文件應(yīng)該是(356 items)
?????? (3) 點(diǎn)開"Compile Sources",再點(diǎn)擊"+"號,添加CocoLoader.cpp進(jìn)去,此時(shí)cpp文件應(yīng)該是(301 items)
現(xiàn)在應(yīng)該可以編譯并運(yùn)行csb文件了,將DemoPlayer.ExportJson改成DemoPlayer.csb運(yùn)行了看看吧!
[cpp]?view plaincopy
轉(zhuǎn)載于:https://www.cnblogs.com/Anzhongliu/p/6091954.html
總結(jié)
以上是生活随笔為你收集整理的让cocos2d-x 3.0读取cocostudio中的csb文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Photoshop制作电影胶片效果
- 下一篇: 万国数据二季度调整后EBITDA利润率4