引言
cocos creator是什么?
Cocos Creator?是觸控科技旗下的產(chǎn)品律适,以內(nèi)容創(chuàng)作為核心的游戲開(kāi)發(fā)工具秆吵,在 Cocos2d-x 基礎(chǔ)上實(shí)現(xiàn)了徹底腳本化样傍、組件化和數(shù)據(jù)驅(qū)動(dòng)等特點(diǎn)。
創(chuàng)建和管理場(chǎng)景
1镜遣、場(chǎng)景資源自動(dòng)釋放
cc.loader.release
屬性檢查器 中設(shè)置“自動(dòng)釋放資源”選項(xiàng)己肮,該項(xiàng)默認(rèn)關(guān)閉
2、防止特定資源被自動(dòng)釋放
當(dāng)場(chǎng)景切換后悲关,如果場(chǎng)景已設(shè)置自動(dòng)釋放資源資源谎僻,可以使用 cc.loader.setAutoRelease 或者 cc.loader.setAutoReleaseRecursively 來(lái)保留這些資源
3、不延遲加載資源
全部加載完成后才會(huì)觸發(fā)場(chǎng)景切換
4寓辱、延遲加載依賴的資源
加載場(chǎng)景時(shí)艘绍,如果選項(xiàng)開(kāi)啟,則這個(gè)場(chǎng)景直接或間接依賴的所有貼圖秫筏、粒子和聲音都將被延遲到場(chǎng)景切換后才加載诱鞠,使場(chǎng)景切換速度極大提升
圖像資源(Texture)
1、目前包括 JPG 和 PNG 兩種
預(yù)制資源(Prefab)
1这敬、設(shè)為手動(dòng)同步時(shí)
當(dāng)預(yù)制對(duì)應(yīng)的原始資源被修改后航夺,場(chǎng)景中的預(yù)制實(shí)例不會(huì)同步刷新,只有在用戶手動(dòng)還原預(yù)制時(shí)才會(huì)刷新崔涂。
2阳掐、設(shè)為自動(dòng)同步
該預(yù)制實(shí)例會(huì)自動(dòng)和原始資源保持同步
3、預(yù)置的選項(xiàng)
自動(dòng)調(diào)整(默認(rèn)):
設(shè)為這個(gè)選項(xiàng)后,引擎將根據(jù)創(chuàng)建次數(shù)自動(dòng)調(diào)整優(yōu)化策略缭保。初次創(chuàng)建實(shí)例時(shí)汛闸,等同于“優(yōu)化單次創(chuàng)建性能”,多次創(chuàng)建后將自動(dòng)“優(yōu)化多次創(chuàng)建性能”涮俄。
優(yōu)化單次創(chuàng)建性能:
該選項(xiàng)會(huì)跳過(guò)針對(duì)這個(gè) prefab 的代碼生成優(yōu)化操作蛉拙。
優(yōu)化多次創(chuàng)建性能:
該選項(xiàng)會(huì)啟用針對(duì)這個(gè) prefab 的代碼生成優(yōu)化操作。
圖集資源(Atlas)
1彻亲、為什么要使用圖集資源
合成圖集時(shí)會(huì)去除每張圖片周圍的空白區(qū)域孕锄,加上可以在整體上實(shí)施各種優(yōu)化算法,合成圖集后可以大大減少游戲包體和內(nèi)存占用
多個(gè) Sprite 如果渲染的是來(lái)自同一張圖集的圖片時(shí)苞尝,這些 Sprite 可以使用同一個(gè)渲染批次來(lái)處理畸肆,大大減少 CPU 的運(yùn)算時(shí)間,提高運(yùn)行效率宙址。
2轴脐、圖集制作軟件
TexturePacker
Zwoptex
3、將以前碎圖 -> 圖集 方法
目前我們提供了一個(gè)簡(jiǎn)單的小工具來(lái)完成場(chǎng)景中對(duì)圖片資源引用從碎圖或老圖集到新圖集的重定向抡砂。下面介紹工作流程大咱。
生成新圖集:不管是從碎圖合并,還是將原來(lái)的圖集重新拆分或合并注益,您都需要先使用 TexturePacker 生成完整的新圖集碴巾。然后將新圖集導(dǎo)入到項(xiàng)目資源文件夾中。
雙擊打開(kāi)您需要重定向資源引用的場(chǎng)景或 Prefab
點(diǎn)擊主菜單的「開(kāi)發(fā)者->在當(dāng)前場(chǎng)景使用指定圖集替換 spriteFrame…」丑搔,在打開(kāi)的對(duì)話框里選擇您新生成的圖集厦瓢,等待替換操作完成。(如果新圖集有多張啤月,應(yīng)該重復(fù)這一步直到所有相關(guān)新圖集都替換完畢) 4.如果您有多個(gè)場(chǎng)景或 prefab煮仇,需要重復(fù)執(zhí)行 2-3 步,遍歷每個(gè)相關(guān)的場(chǎng)景或 Prefab
確認(rèn)所有相關(guān)圖片資源的引用都已經(jīng)替換成了新圖集后谎仲,現(xiàn)在可以刪除原有的碎圖或舊圖集了浙垫。
字體資源
1、三類字體資源
系統(tǒng)字體 :使用Label組件中的 Use System Font 屬性
動(dòng)態(tài)字體 :TTF 格式
位圖字體 :
位圖字體由 fnt 格式的字體文件和一張 png 圖片
請(qǐng)輸入圖片描述
2郑诺、位圖字體生產(chǎn)工具
Glyph Designer
Hiero
BMFont (Windows)
粒子資源(ParticleSystem)
聲音資源
1夹姥、加載模式
音頻的加載方式只影響 Web 上的加載效果 由于各個(gè) Web 平臺(tái)實(shí)現(xiàn)標(biāo)準(zhǔn)的進(jìn)度不一致,所以提供了兩種聲音資源的加載方式间景。
WebAudio
通過(guò) WebAudio 方式加載的聲音資源佃声,在引擎內(nèi)是以一個(gè) buffer 的形式緩存的。
這種方式的優(yōu)點(diǎn)是兼容性好倘要,問(wèn)題比較少圾亏。缺點(diǎn)是占用的內(nèi)存資源過(guò)多十拣。
DOM Audio
通過(guò)生成一個(gè)標(biāo)準(zhǔn)的
使用標(biāo)準(zhǔn)的 audio 元素播放聲音資源的時(shí)候,在某些瀏覽器上可能遇到一些限制志鹃。
比如:每次播放必須是用戶操作事件內(nèi)才允許播放(WebAudio 只要求第一次)夭问,只允許播放一個(gè)聲音資源等。
2曹铃、手動(dòng)選擇按某種解析方式加載音頻
有時(shí)候我們可能不會(huì)使用場(chǎng)景的自動(dòng)加載或是預(yù)加載功能缰趋,而是希望自己手動(dòng)控制 cc.load 資源的加載流程。 這個(gè)時(shí)候我們也是可以通過(guò)音頻資源的 url 來(lái)選擇加載的方式陕见。
默認(rèn)方式加載音頻
音頻默認(rèn)是使用 webAudio 的方式加載并播放的秘血,只有在不支持的瀏覽器才會(huì)使用 dom 元素加載播放。
cc.loader.load(cc.url.raw(‘resources/background.mp3’), callback);
強(qiáng)制使用 dom element 加載
1.在資源管理器內(nèi)選中一個(gè) audio评甜,屬性檢查器內(nèi)會(huì)有加載模式的選擇
2.音頻在加載過(guò)程中灰粮,會(huì)讀取 url 內(nèi)的 get 參數(shù)。其中只需要定義一個(gè) useDom 參數(shù)忍坷,使其有一個(gè)非空的值粘舟,這樣在 audioDownloader 中,就會(huì)強(qiáng)制使用 DOM element 的方式加載播放這個(gè)音頻佩研。
cc.loader.load(cc.url.raw(‘resources/background.mp3?useDom=1’), callback);
骨骼動(dòng)畫(huà)資源(Spine)
1柑肴、導(dǎo)入骨骼動(dòng)畫(huà)資源 骨骼動(dòng)畫(huà)所需資源有:
.json 骨骼數(shù)據(jù)
.png 圖集紋理
.txt/.atlas 圖集數(shù)據(jù)
2、創(chuàng)建骨骼動(dòng)畫(huà)資源
方法之一 :添加組件 ,然后 添加渲染組件 選擇 Spine Skeleton
PS:集成Spine功能旬薯,不需要額外添加插件
請(qǐng)輸入圖片描述
瓦片圖資源(TiledMap)
1晰骑、導(dǎo)入地圖資源
地圖所需資源有:
.tmx 地圖數(shù)據(jù)
.png 圖集紋理
.tsx tileset 數(shù)據(jù)配置文件(部分 tmx 文件需要)
2、創(chuàng)建瓦片圖資源
方法之一 :添加組件 ,然后 添加渲染組件 選擇 TiledMap
我也創(chuàng)建了個(gè)學(xué)習(xí)交流群 感興趣的朋友可以加下點(diǎn)擊鏈接加入群聊【cocos/unity交流群】