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

歡迎光臨散文網 會員登陸 & 注冊

一文教你Cocos Creator如何實現音頻池工具的封裝

2022-03-14 19:33 作者:BYCW丶幻彩  | 我要投稿

引言

關鍵詞:音效管理、音頻池、Cocos Creator

多媒體內容(文本、音頻、視頻、圖片、動畫等)是一款應用能否在“同質化”嚴重的市場中脫穎而出的關鍵。
本文將封裝一個音頻池組件,以期幫助大家簡化音頻工作流程。

一、音頻播放方式

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



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

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

二、組件化工作流程

1.AudioSource組件使用步驟:

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

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

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



通過腳本控制 AudioSource 組件:



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



引用 audioSource 以控制音效。

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

【1】優(yōu)點:提供面向設計和開發(fā)的兩種工作流,是一種簡單順暢的分工合作方式。記得嗎?Cocos Creator 是以內容創(chuàng)作為核心的游戲開發(fā)工具,在 Cocos2d-x 基礎上實現了徹底腳本化、組件化和數據驅動等特點。

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

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

三、工具化工作流程

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

分為兩個階段:

*【1】預加載preloadAllAudio?:遍歷枚舉 AUDIO_ENUM,依次加載音頻資源 AudioClip,封裝為 AudioSource 后放入 _audios ,后者其實就是一個簡單的空對象?!?】播放或停止 control:根據枚舉字符串,從_audios 中獲取 AudioSource,調用 play 或 stop 。

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

【1】預加載:在應用初始化時調用 preloadAllAudio(只需要一次);

【2】將音頻放置到資源管理器對應的目錄;

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

【4】引用工具類以控制音效缺點:設計與開發(fā)工作流未分離;優(yōu)點:減少重復工作,增強可維護性。

四、權衡

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

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

對于需求相對固定的功能模塊,可以使用工具化工作流程,簡化工作。

更多教學視頻及源碼素材:

https://www.bycwedu.com/promotion_channels/829468798

一文教你Cocos Creator如何實現音頻池工具的封裝的評論 (共 條)

分享到微博請遵守國家法律
赤城县| 台湾省| 梁平县| 邵阳县| 常山县| 达日县| 游戏| 博爱县| 黑山县| 广昌县| 璧山县| 稷山县| 新郑市| 济宁市| 兴隆县| 东明县| 邵武市| 民权县| 鄂伦春自治旗| 清涧县| 汤阴县| 肃北| 嵊泗县| 弥勒县| SHOW| 如东县| 建阳市| 嘉鱼县| 阜阳市| 丹寨县| 偃师市| 亳州市| 西林县| 成安县| 保德县| 福清市| 聂荣县| 甘谷县| 普宁市| 乌恰县| 望都县|