zoukankan      html  css  js  c++  java
  • cocos2d-x 音乐与音效

    1.背景音乐

    要使用一个音乐,首先要预加载这个音乐,预加载的方法如下

    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::fullPathFromRelativePath(MUSIC_FILE) );

    MUSIC_FILE就是音乐文件相对Res文件夹的相对路径

    然后就可以播放了,播放的方法如下

    SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::fullPathFromRelativePath(MUSIC_FILE)).c_str(), true);

    第一个参数中的MUSIC_FILE就是音乐文件相对Res文件夹的相对路径,然后再转换为绝对路径,第二个参数就是是否循环播放,由于是背景音乐,我们定为true

    其他函数

    SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();//停止背景音乐,可以代一个布尔型参数,表示是否释放音乐文件

    SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();//暂停背景音乐

    SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();//重头调用背景音乐

    SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()//返回布尔型参数,是否在放着背景音乐

    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//设置音量0.0-1.0

    2.音效

    使用音效,和使用音乐类似,也需要预加载,用法如下

    SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::fullPathFromRelativePath(EFFECT_FILE) );

    EFFECT_FILE就是音乐的相对Res文件夹的相对路径

    然后播放就可以了

    m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());

    m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str(), true);

    和背景音乐一样,第二个参数是可选的,如果是true就是循环播放,否则就是只播一次

    其他函数

    SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);//停止音效,可以选择单独停掉一个音效,通过创建时的m_nSoundId停止

    SimpleAudioEngine::sharedEngine()->stopAllEffects();//停止全部音效

    SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);//暂停单个音效

    SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);//重新开始音效

    SimpleAudioEngine::sharedEngine()->pauseAllEffects();//暂停全部音效

    SimpleAudioEngine::sharedEngine()->resumeAllEffects();//重新开始全部音效

    SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//设置音效音量

    SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());//卸载音效

    最后要记住,在程序不需要音乐时,要SimpleAudioEngine::sharedEngine()->end();释放sharedEngine()

    刚开始研究此引擎,如有错误之处,希望大家多多指正

  • 相关阅读:
    洛谷[ZJOI2008]骑士(基环树二次DP法+树形DP)
    洛谷P5022 旅行(基环树+断环法)
    AtCoder Beginner Contest 174 ——D.Alter Altar(思维)
    洛谷P1972 [SDOI2009]HH的项链(离线+树状数组)
    CF1365D Solve The Maze (BFS)
    codeforces1426——F. Number of Subsequences(DP)
    codeforces1324——E.Sleeping Schedule(DP+初始化)
    codeforces319——B. Psychos in a Line(思维+单调栈)
    codeforces292——D. Connected Components(并查集+前缀和优化)
    codeforces1013——D. Chemical table(思维+转化+并查集)
  • 原文地址:https://www.cnblogs.com/james1207/p/3370807.html
Copyright © 2011-2022 走看看