因为使用cocos2d-x习惯了创建多个资源文件夹来放置不同的资源文件,所以在使用cocos2d-js时也想到使用这种模式,但是一开始遇见了一些问题。
1、在res文件夹下创建新的文件夹:music
2、在resource.js文件中,定义音乐对象并初始化音乐文件路径:
var music =
{
m_bgm : "res/music/m_bgm.mp3",
m_btn : "res/music/m_btn.mp3",
m_fail : "res/music/m_fail.mp3",
}
3、添加到加载资源的数组中:
//模仿加载图片资源加载
for(var i in : music)
{
//因为在加载场景的时候,函数中传递的加载数组是g_resource,所以这里也是将音乐资源添加到这个数组中
g_resource.push(music[i]);
}
4、播放背景音乐:
//注意:不是使用cc.AudioEngine,也不是playBackgroundMusic()
cc.audioEngine.playMusic(music.m_bgm);
5、播放音效
cc.audioEngine.playEffect(music.m_btn);
6、停止播放背景音乐和音效
cc.audioEngine.stopMusic(music.m_bgm);
cc.audioEngine.stopEffect(music.m_btn); //关闭指定音效
cc.audioEngine.stopAllEffect(); //关闭所有音效
小提示:
本人遇到的一个尴尬的小问题,就是一开始忘记了将音乐资源添加到加载数组中,但是在游戏中竟然播放出来了。之后发现问题之后,修改了路径啊,添加了加载啊什么的,虽然所以的步骤都正确了,但是发现音乐还是播放不出来,调试打断点,进入底层,然后又监视什么的,然后网页中就是报错404,什么的,然后就是说是Google里什么东西有问题。最后一想会不会是因为之前出错的问题导致的,所以就将浏览器历史记录删除了,然后,竟然好了。。。