比如audioEngine 这3个方法有啥区别???:
play 播放音频
playMusic 播放背景音乐
playEffect 播放音效
比如audioEngine 这3个方法有啥区别???:
play 播放音频
playMusic 播放背景音乐
playEffect 播放音效
这个问题 手动点赞
官方的文档“无比清晰”
play: function (clip, loop, volume/*, profile*/) {
var path = clip;
var audio;
if (typeof clip === 'string') {
// backward compatibility since 1.10
cc.warnID(8401, 'cc.audioEngine', 'cc.AudioClip', 'AudioClip', 'cc.AudioClip', 'audio');
path = clip;
// load clip
audio = getAudioFromPath(path);
AudioClip._loadByUrl(path, function (err, clip) {
if (clip) {
audio.src = clip;
}
});
}
else {
if (!clip) {
return;
}
path = clip.nativeUrl;
audio = getAudioFromPath(path);
audio.src = clip;
}
audio.setLoop(loop || false);
if (typeof volume !== 'number') {
volume = 1;
}
audio.setVolume(volume);
audio.play();
return audio.id;
},
playMusic: function (clip, loop) {
var music = this._music;
this.stop(music.id);
music.id = this.play(clip, loop, music.volume);
music.loop = loop;
return music.id;
},
playEffect: function (clip, loop) {
return this.play(clip, loop || false, this._effect.volume);
},
看源代码~
这个出自于 JavaScript engine?
engine\cocos2d\audio\CCAudioEngine.js
这个说明了啥?
背景音乐只有一个,停止的时候你可以 stopMusic: function ()
不用指定 audio ID,符合使用场景,简单
音效多个,停止的时候 stopEffect: function (audioID)
必须指定 audio ID,或者 stopAllEffects: function ()
暂停所有音效。
主要是用来区分场景的。
经常有游戏情景需要不停止背景音乐,但是停止所有音效的。假如只提供 play 方法,就会需要你自己记录哪一个是背景音乐,遇到这种场景处理起来比较麻烦。
另外音效一般是短的音频,背景音乐一般是长的音频。
谢谢!那play 这个方法又是啥意思?另外,其实这3个方法用哪个方法播放,其实性能是一样吧?我用 playEffect 播放长音乐也没有任何问题吧?
还是劳烦继续回答吧,谢谢了,这些问题会帮助很多人
另外,Animation 类有没有类似 audioEngine 滴 全局管理理念 (主要是类似stopMusic能停止所有 动画 这种),要是没有,以后会提供吗?
按照玩游戏这么多年的理解
音频☞ 一段音乐 比如 王者荣耀里五杀时候播放的 喷他Q
背景音乐☞ 在某个游戏或者场景里不断循环播放的音乐 衬托游戏或场景气氛的
音效☞ 游戏中触发动作时发出声音 比如挥刀,被打的声音
你这回复有意义吗?这3个方法有啥区别?上面leda 已经回答了 playMusic 和 playEffect ,现在还差一个 play,另外,其实这3个方法用哪个方法播放性能有区别吗?另外,Animation 类有没有类似 audioEngine 滴 全局管理理念 (主要是类似stopMusic能停止所有 动画 这种),要是没有,以后会提供吗?
没有区别, 后面两个就是对play()的封装, 方便使用而已. 要不你就自己缓存所有audioId, 来决定开关, 这种常用工具官方简单封装下, 省的自己写变量多繁琐.
晕,原来是这样 ,Animation 官方有类似封装吗?
Animation怎么封装?难道有个什么全局背景动作?(笑
你怎样一次性暂停 10 个动画?
我看引擎组的人回复了我就按照我的理解说一下,具体的解释还得看引擎组,我就是路过,哈哈