Quick-cocos2d-x3.3 Study (二十)--------- 音乐音效

音乐音效

接下来,我们来给游戏添加背景音乐和音效。

首先我们要知道的是,Quick 引擎封装了一套与声音相关的 audio 模块,我们可以通过它方便的调用声音相关的 API 来控制声音。audio 模块提供了众多的方法和属性,比如预加载、播放、暂停、停止、恢复声音等等。

我们还需知道,游戏中的声音背引擎分为了两种:一种是Music(指背景音乐),另一种则是Sound(指游戏音效,也就是除了背景音乐以外的声音)。

下面是一些控制背景音乐相关的常用 API:

  • 预载入一个音乐文件:audio.preloadMusic(filename)
    它在播放音乐前预先载入,可以在需要播放音乐时无延迟立即播放。不过限于硬件设备和操作系统的限制,通常只能预载入一个音乐文件,参数为音乐文件名。

  • 播放音乐:audio.playMusic(filename, isLoop),参数分别表示音乐文件名,以及是否循环播放音乐,默认情况下为 true。
    如果音乐文件尚未载入,则会首先载入音乐文件,然后开始播放。
    注意:即便音乐音量为 0.0,audio.playMusic() 仍然会进行播放操作。
    如果希望停止音乐来降低 CPU 占用,应该使用 audio.stopMusic() 接口完全停止音乐播放。

  • 暂停音乐的播放:audio.pauseMusic()

  • 恢复暂停的音乐:audio.resumeMusic()

  • 停止播放音乐:audio.stopMusic(isReleaseData),参数 isReleaseData 表示是否释放音乐数据,默认为 true。

  • 设置音乐的音量:audio.setMusicVolume(volume)
    volume 音量在 0.0 到 1.0 之间, 0.0 表示完全静音,1.0 表示 100% 音量。

  • 返回音乐的音量值:audio.getMusicVolume()
    返回值在 0.0 到 1.0 之间,0.0 表示完全静音,1.0 表示 100% 音量

控制音效相关的 API 与控制背景音乐的类似,如audio.playSound(filename, isLoop),audio.setSoundsVolume(volume)等,所以这里我们就不再列举了。

回到我们的游戏,因为它的音乐音效不需要过多的设置和变化,所以,我们用不超过二十行的代码就可以实现整个声音系统的制作。如下:

首先,在 res 文件夹下新建一个 sound 文件夹,把需要的声音文件都放到这个文件夹中。然后在 MyApp.lua 文件中,我们先预加载需要的音乐音效。

1     audio.preloadMusic("sound/background.mp3") 
2     audio.preloadSound("sound/button.wav")
3     audio.preloadSound("sound/ground.mp3")
4     audio.preloadSound("sound/heart.mp3")
5     audio.preloadSound("sound/hit.mp3")

 

 

接着,我们就可以在 MainScene 场景中播放背景音乐了。

 1 audio.playMusic("sound/background.mp3", true) 

另外,在需要播放音效的地方添加类似下面的函数就可以播放音效。

 1 audio.playSound("sound/button.wav") 
posted @ 2015-09-22 00:35  silent-bobo  阅读(2238)  评论(0编辑  收藏  举报