【Cocos Creator实战教程(13)】——播放声音

lili

发布日期: 2018-12-01 20:12:02 浏览量: 1622
评分:
star star star star star star star star star_border star_border
*转载请注明来自write-bug.com

1. 相关知识点

1.1 使用 AudioSource 组件播放

创建一个空节点,在这个空节点上,添加一个 其他组件 -> AudioSource
在脚本上预设好 AudioSource,并且根据实际需求,完善脚本的对外接口,如下:

  1. cc.Class({
  2. properties: {
  3. audioSource: {
  4. type: cc.AudioSource,
  5. default: null
  6. },
  7. },
  8. play: function () {
  9. this.audioSource.play();
  10. },
  11. pause: function () {
  12. this.audioSource.pause();
  13. },
  14. });

1.2 使用 AudioEngine 播放

在脚本内定义一个 audioClip 资源对象,如下示例中 properties 对象内。
直接使用 cc.audioEngine.play(audio, loop, volume); 播放。如下示例中 onLoad 中。

  1. cc.Class({
  2. properties: {
  3. audio: {
  4. default: null,
  5. type: cc.AudioClip
  6. }
  7. },
  8. onLoad: function () {
  9. this.current = cc.audioEngine.play(this.audio, false, 1);
  10. },
  11. onDestroy: function () {
  12. cc.audioEngine.stop(this.current);
  13. }
  14. });

AudioEngine 播放的时候,需要注意这里的传入的是一个完整的 AudioClip 对象(而不是 url)。 所以我们不建议在 play 接口内直接填写音频的 url 地址,而是希望大家先定义一个 AudioClip,然后在编辑器内将音频拖拽过来。

2. 步骤

播放声音有两种方式

2.1 组件AudioSource

  1. play ( )
  2. 播放音频剪辑。
  3. stop ( )
  4. 停止当前音频剪辑。
  5. pause ( )
  6. 暂停当前音频剪辑。
  7. resume ( )
  8. 恢复播放。
  9. rewind ( )
  10. 从头开始播放。

2.2 声音系统

  1. //背景音乐,循环
  2. cc.audioEngine.playMusic(source);
  3. cc.audioEngine.stopMusic(source);
  4. //短音效
  5. cc.audioEngine.playEffect(source);
  6. cc.audioEngine.stopEffect(source);

上面的第一种方法原生平台有很多Bug,所以我们的游戏都用的第二种方法播放声音

3.总结

加上音效,让游戏锦上添花

本教程部分资源来源于网络。

上传的附件 cloud_download 附件 ( 0.00kb, 0次下载 )
eject