Cocos2d-x v3.14新年新驚喜 多項(xiàng)功能助你高效開(kāi)發(fā)
發(fā)布時(shí)間:2017-01-09 13:43 來(lái)源: 作者:未知 編輯:零九
在2017新年來(lái)臨之際,Cocos引擎團(tuán)隊(duì)送上了新一年的驚喜:Cocos2d-x v3.14全新版本。該版本支持所有平臺(tái)使用luajit 2.10-beta2、Sprite支持九宮格特性、新增動(dòng)作類(lèi)ResizeBy和ResizeTo......這么多給力的新功能,相信你一定會(huì)喜歡。
Cocos2d-x v3.14新版下載地址:
https://www.cocos.com/download
話不多說(shuō),下面我們趕緊來(lái)細(xì)細(xì)盤(pán)點(diǎn)Cocos2d-x v3.14新版新驚喜。
主要新特性列表
支持Spine二進(jìn)制格式
所有平臺(tái)使用luajit 2.10-beta2
新增動(dòng)作類(lèi):ResizeBy和ResizeTo
Android模擬支持關(guān)閉多點(diǎn)觸摸
Sprite支持九宮格特性
動(dòng)作類(lèi)新增功能,可以根據(jù)tag查詢(xún)某一節(jié)點(diǎn)正在運(yùn)行的動(dòng)作數(shù)量
Button類(lèi)可以設(shè)置title內(nèi)容
EditBox支持文本水平對(duì)齊
支持Mac平臺(tái)手柄
主 要 特 性 詳 解
所有平臺(tái)使用luajit 2.10-beta2 性能顯著提升
之前的luajit版本無(wú)法在PC上方便地編譯出arm64的字節(jié)碼,需要用真機(jī)(比如iPhone6真機(jī))編譯,因此在之前的版本,iOS 64位使用的是lua,iOS 32位使用的是luajit。
新版本支持luajit 2.10-beta2版,開(kāi)發(fā)者可以方便地在PC平臺(tái)編譯出arm64位的字節(jié)碼,因此我們?cè)诟髌脚_(tái)都使用了luajit,這樣能夠提升性能。如果使用Cocos命令編譯、打包的話,那么Cocos命令會(huì)自動(dòng)編譯出對(duì)應(yīng)平臺(tái)的字節(jié)碼,如果有生成64位字節(jié)碼的話,那么會(huì)把這些字節(jié)碼放到64-bit目錄下。當(dāng)然你也可以通過(guò)Cocos luacompile自己編譯字節(jié)碼,具體的使用方式可以參考Cocos luacompile -h輸出的幫助信息。
通過(guò)Cocos命令編譯、打包生成的字節(jié)碼時(shí)各平臺(tái)的情況如下:
Sprite支持九宮格特性 UI 界面調(diào)整更方便
在開(kāi)發(fā) UI 界面時(shí),如果 UI 元素的顯示尺寸需要根據(jù)屏幕分辨率的大小動(dòng)態(tài)改變時(shí),我們通常會(huì)使用九宮格格式的圖像來(lái)渲染這些元素。如今Sprite支持九宮格特性了,使用方式如下:
c++ auto sprite = Sprite::create(...); // set center rect // the origin is top-left sprite->setCenterRectNormalized(Rect(x, y, width, heigh));
這樣即使使用很小的原始圖片也能生成覆蓋整個(gè)屏幕的背景圖像,一方面節(jié)約游戲包體空間,另一方面能夠靈活適配不同的排版需要。
詳細(xì)信息可以參考Sprite::setCenterNormalized()的注釋。
支持Spine二進(jìn)制格式 解析更高效文件更小
使用方式?jīng)]有改變,只是文件格式變成了二進(jìn)制格式。這樣的好處就是解析效率更高,文件更小。具體的使用方法如下:
`c++ skeletonNode = SkeletonAnimation::createWithBinaryFile("spine/spineboy.skel", "spine/spineboy.atlas", 0.6f);
...
新增兩大動(dòng)作類(lèi) 節(jié)點(diǎn)縮放更方便
新增加兩個(gè)動(dòng)作類(lèi):ResizeBy和ResizeTo。和ScaleBy、ScaleTo不同的是,ResizeBy和ResizeTo改變的是節(jié)點(diǎn)的content size的大小。這種動(dòng)作對(duì)于支持九宮格特性的節(jié)點(diǎn)的縮放效果比ScaleBy和ScaleTo好,因?yàn)镾caleBy和ScaleTo是對(duì)節(jié)點(diǎn)做整體縮放。效果對(duì)比如下:
已知問(wèn)題說(shuō)明
如果使用Xcode 8.2,那么lua工程會(huì)在iOS模擬器上崩潰。通過(guò)調(diào)試發(fā)現(xiàn)崩潰在lua_open函數(shù)的調(diào)用上。如果使用Xcode 8.1或以下版本,那么沒(méi)有問(wèn)題。我們懷疑這是Xcode的bug,在v3.14無(wú)法解決。使用lua的開(kāi)發(fā)者在為iOS平臺(tái)開(kāi)發(fā)時(shí)有兩個(gè)選擇:
使用Xcode 8.1或者以下版本
使用Xcode 8.2,在Mac或者iOS真機(jī)開(kāi)發(fā)、調(diào)試
閱讀本文后,您的心情是:(選擇后可查看結(jié)果)