最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文教你Cocos Creator如何實(shí)現(xiàn)音頻池工具的封裝

2022-03-18 21:55 作者:小小游戲開(kāi)發(fā)程序員  | 我要投稿

引言

關(guān)鍵詞:音效管理、音頻池、Cocos Creator

多媒體內(nèi)容(文本、音頻、視頻、圖片、動(dòng)畫(huà)等)是一款應(yīng)用能否在“同質(zhì)化”嚴(yán)重的市場(chǎng)中脫穎而出的關(guān)鍵。
本文將封裝一個(gè)音頻池組件,以期幫助大家簡(jiǎn)化音頻工作流程。

一、音頻播放方式

首先,我們必須了解Cocos Creator中音頻播放的兩種方式,如下圖所示:



總結(jié)下就是,Cocos Creator提供兩種音頻播放方式,AudioEngine 與 AudioSource 都能播放音頻,它們的區(qū)別在于 AudioSource 是組件,可以添加到場(chǎng)景中,由編輯器設(shè)置。而 AudioEngine 是引擎提供的純 API,只能在腳本中進(jìn)行調(diào)用。

共同點(diǎn):本質(zhì)都是處理 AudioClip音頻資源,需要在Cocos Creator編輯器中掛載組件。

二、組件化工作流程

1.AudioSource組件使用步驟:

首先我們來(lái)回顧一下使用 AudioSource 的工作流程,隨后分析優(yōu)缺點(diǎn):

在【層級(jí)管理器】上創(chuàng)建一個(gè)空節(jié)點(diǎn),選中空節(jié)點(diǎn),在【屬性檢查器】最下方點(diǎn)擊【添加組件】 -> 其他組件 -> AudioSource 來(lái)添加 AudioSource 組件。

將【資源管理器】中所需的音頻資源拖拽到 AudioSource 組件的 Clip 中,如下所示:



通過(guò)腳本控制 AudioSource 組件:



選擇相對(duì)應(yīng)的節(jié)點(diǎn),添加腳本組件。然后將帶有 AudioSource 組件的節(jié)點(diǎn)拖拽到腳本組件中的 Audio Source 上,如下所示:



引用 audioSource 以控制音效。

2.AudioSource組件優(yōu)缺點(diǎn)

【1】?jī)?yōu)點(diǎn):提供面向設(shè)計(jì)和開(kāi)發(fā)的兩種工作流,是一種簡(jiǎn)單順暢的分工合作方式。記得嗎?Cocos Creator 是以內(nèi)容創(chuàng)作為核心的游戲開(kāi)發(fā)工具,在 Cocos2d-x 基礎(chǔ)上實(shí)現(xiàn)了徹底腳本化、組件化和數(shù)據(jù)驅(qū)動(dòng)等特點(diǎn)。

【2】缺點(diǎn):重復(fù)工作:每個(gè)音頻都需要重復(fù)上述多個(gè)操作步驟。維護(hù)困難:若音頻掛載在不同的節(jié)點(diǎn)中,不利于定位與維護(hù)。

【3】特點(diǎn):掛載在節(jié)點(diǎn)上的 AndioSource 可以跟隨節(jié)點(diǎn)的生命周期。優(yōu)點(diǎn):節(jié)點(diǎn)銷毀時(shí),掛載的 AndioSource 可以跟隨銷毀,無(wú)需額外調(diào)用方法。缺點(diǎn):節(jié)點(diǎn)頻繁創(chuàng)建與銷毀時(shí),AndioSource 也跟著頻繁加載銷毀。

三、工具化工作流程

清楚組件化工作流程的優(yōu)缺點(diǎn)后,我們嘗試工具化工作流程,工具代碼如下:

分為兩個(gè)階段:

*【1】預(yù)加載preloadAllAudio?:遍歷枚舉 AUDIO_ENUM,依次加載音頻資源 AudioClip,封裝為 AudioSource 后放入 _audios ,后者其實(shí)就是一個(gè)簡(jiǎn)單的空對(duì)象?!?】播放或停止 control:根據(jù)枚舉字符串,從_audios 中獲取 AudioSource,調(diào)用 play 或 stop 。

利用這個(gè)工具類,工作流程變?yōu)椋?/h1>

【1】預(yù)加載:在應(yīng)用初始化時(shí)調(diào)用 preloadAllAudio(只需要一次);

【2】將音頻放置到資源管理器對(duì)應(yīng)的目錄;

【3】在枚舉 AUDIO_ENUM 中添加音頻文件名,如下所示:

【4】引用工具類以控制音效缺點(diǎn):設(shè)計(jì)與開(kāi)發(fā)工作流未分離;優(yōu)點(diǎn):減少重復(fù)工作,增強(qiáng)可維護(hù)性。

四、權(quán)衡

馬克思主義告訴我們,凡事都有兩面性,其內(nèi)涵在軟件科學(xué)的解釋就是:沒(méi)有銀彈(No Silver Bullet)。對(duì)于組件化和工具化,哪種更理想,實(shí)際上并沒(méi)有一個(gè)定論。

對(duì)于高度內(nèi)容定制化的功能模塊,可以使用組件化工作流程,分離內(nèi)容定制工作。

對(duì)于需求相對(duì)固定的功能模塊,可以使用工具化工作流程,簡(jiǎn)化工作。


一文教你Cocos Creator如何實(shí)現(xiàn)音頻池工具的封裝的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
潍坊市| 绿春县| 郧西县| 扎囊县| 汉寿县| 西乌珠穆沁旗| 神池县| 太康县| 遂溪县| 加查县| 林甸县| 蒙山县| 濮阳市| 鄂伦春自治旗| 湾仔区| 德令哈市| 乌鲁木齐县| 徐州市| 金平| 松潘县| 霞浦县| 新竹市| 兴文县| 鸡西市| 东安县| 苏尼特左旗| 龙门县| 康定县| 日喀则市| 平和县| 聂拉木县| 印江| 芦山县| 太谷县| 喀什市| 峡江县| 江川县| 宿州市| 合江县| 中宁县| 炉霍县|