Cocos Creator_資源工作流程
引言
cocos creator是什么?
Cocos Creator?是觸控科技旗下的產(chǎn)品,以內(nèi)容創(chuàng)作為核心的游戲開發(fā)工具,在 Cocos2d-x 基礎(chǔ)上實現(xiàn)了徹底腳本化、組件化和數(shù)據(jù)驅(qū)動等特點。
?
創(chuàng)建和管理場景
1、場景資源自動釋放
cc.loader.release
屬性檢查器 中設(shè)置“自動釋放資源”選項,該項默認(rèn)關(guān)閉
?
2、防止特定資源被自動釋放
當(dāng)場景切換后,如果場景已設(shè)置自動釋放資源資源,可以使用 cc.loader.setAutoRelease 或者 cc.loader.setAutoReleaseRecursively 來保留這些資源
?
3、不延遲加載資源
全部加載完成后才會觸發(fā)場景切換
?
4、延遲加載依賴的資源
加載場景時,如果選項開啟,則這個場景直接或間接依賴的所有貼圖、粒子和聲音都將被延遲到場景切換后才加載,使場景切換速度極大提升
?
圖像資源(Texture)
1、目前包括 JPG 和 PNG 兩種
?
預(yù)制資源(Prefab)
1、設(shè)為手動同步時
當(dāng)預(yù)制對應(yīng)的原始資源被修改后,場景中的預(yù)制實例不會同步刷新,只有在用戶手動還原預(yù)制時才會刷新。
2、設(shè)為自動同步
該預(yù)制實例會自動和原始資源保持同步
3、預(yù)置的選項
?
自動調(diào)整(默認(rèn)):
設(shè)為這個選項后,引擎將根據(jù)創(chuàng)建次數(shù)自動調(diào)整優(yōu)化策略。初次創(chuàng)建實例時,等同于“優(yōu)化單次創(chuàng)建性能”,多次創(chuàng)建后將自動“優(yōu)化多次創(chuàng)建性能”。
優(yōu)化單次創(chuàng)建性能:
該選項會跳過針對這個 prefab 的代碼生成優(yōu)化操作。
優(yōu)化多次創(chuàng)建性能:
該選項會啟用針對這個 prefab 的代碼生成優(yōu)化操作。
圖集資源(Atlas)
1、為什么要使用圖集資源
?
合成圖集時會去除每張圖片周圍的空白區(qū)域,加上可以在整體上實施各種優(yōu)化算法,合成圖集后可以大大減少游戲包體和內(nèi)存占用
多個 Sprite 如果渲染的是來自同一張圖集的圖片時,這些 Sprite 可以使用同一個渲染批次來處理,大大減少 CPU 的運算時間,提高運行效率。
2、圖集制作軟件
?
TexturePacker
Zwoptex
3、將以前碎圖 -> 圖集 方法
目前我們提供了一個簡單的小工具來完成場景中對圖片資源引用從碎圖或老圖集到新圖集的重定向。下面介紹工作流程。
?
生成新圖集:不管是從碎圖合并,還是將原來的圖集重新拆分或合并,您都需要先使用 TexturePacker 生成完整的新圖集。然后將新圖集導(dǎo)入到項目資源文件夾中。
雙擊打開您需要重定向資源引用的場景或 Prefab
點擊主菜單的「開發(fā)者->在當(dāng)前場景使用指定圖集替換 spriteFrame…」,在打開的對話框里選擇您新生成的圖集,等待替換操作完成。(如果新圖集有多張,應(yīng)該重復(fù)這一步直到所有相關(guān)新圖集都替換完畢) 4.如果您有多個場景或 prefab,需要重復(fù)執(zhí)行 2-3 步,遍歷每個相關(guān)的場景或 Prefab
確認(rèn)所有相關(guān)圖片資源的引用都已經(jīng)替換成了新圖集后,現(xiàn)在可以刪除原有的碎圖或舊圖集了。
字體資源
1、三類字體資源
?
系統(tǒng)字體 :使用Label組件中的 Use System Font 屬性
動態(tài)字體 :TTF 格式
位圖字體 :
位圖字體由 fnt 格式的字體文件和一張 png 圖片?

2、位圖字體生產(chǎn)工具
?
Glyph Designer
Hiero
BMFont (Windows)
粒子資源(ParticleSystem)
聲音資源
1、加載模式
音頻的加載方式只影響 Web 上的加載效果 由于各個 Web 平臺實現(xiàn)標(biāo)準(zhǔn)的進(jìn)度不一致,所以提供了兩種聲音資源的加載方式。
?
WebAudio
通過 WebAudio 方式加載的聲音資源,在引擎內(nèi)是以一個 buffer 的形式緩存的。
這種方式的優(yōu)點是兼容性好,問題比較少。缺點是占用的內(nèi)存資源過多。
DOM Audio
通過生成一個標(biāo)準(zhǔn)的
使用標(biāo)準(zhǔn)的 audio 元素播放聲音資源的時候,在某些瀏覽器上可能遇到一些限制。
比如:每次播放必須是用戶操作事件內(nèi)才允許播放(WebAudio 只要求第一次),只允許播放一個聲音資源等。
2、手動選擇按某種解析方式加載音頻
有時候我們可能不會使用場景的自動加載或是預(yù)加載功能,而是希望自己手動控制 cc.load 資源的加載流程。 這個時候我們也是可以通過音頻資源的 url 來選擇加載的方式。
?
默認(rèn)方式加載音頻
音頻默認(rèn)是使用 webAudio 的方式加載并播放的,只有在不支持的瀏覽器才會使用 dom 元素加載播放。
?
cc.loader.load(cc.url.raw(‘resources/background.mp3’), callback);
?
強制使用 dom element 加載
1.在資源管理器內(nèi)選中一個 audio,屬性檢查器內(nèi)會有加載模式的選擇
2.音頻在加載過程中,會讀取 url 內(nèi)的 get 參數(shù)。其中只需要定義一個 useDom 參數(shù),使其有一個非空的值,這樣在 audioDownloader 中,就會強制使用 DOM element 的方式加載播放這個音頻。
cc.loader.load(cc.url.raw(‘resources/background.mp3?useDom=1’), callback);
骨骼動畫資源(Spine)
1、導(dǎo)入骨骼動畫資源 骨骼動畫所需資源有:
.json 骨骼數(shù)據(jù)
.png 圖集紋理
.txt/.atlas 圖集數(shù)據(jù)
2、創(chuàng)建骨骼動畫資源
?
方法之一 :添加組件 ,然后 添加渲染組件 選擇 Spine Skeleton
PS:集成Spine功能,不需要額外添加插件

瓦片圖資源(TiledMap)
1、導(dǎo)入地圖資源
地圖所需資源有:
?
.tmx 地圖數(shù)據(jù)
.png 圖集紋理
.tsx tileset 數(shù)據(jù)配置文件(部分 tmx 文件需要)
2、創(chuàng)建瓦片圖資源
?
方法之一 :添加組件 ,然后 添加渲染組件 選擇 TiledMap
