Cocos2d-X 学习笔记 17 Cocos2dx 下对sqlite3 的简单封装

前端之家收集整理的这篇文章主要介绍了Cocos2d-X 学习笔记 17 Cocos2dx 下对sqlite3 的简单封装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. typedefstruct{
  2. unsignedintsoundId;
  3. constchar*soundFilePath;
  4. }Sound;
  5. char*musicFilePath;
  6. }Music;
  7. /*
  8. *注意,Andoird下面只支持.ogg
  9. @H_403_67@*
  10. */
  11. staticMusicbgMusic=
  12. {
  13. "audio/mainbgmusic.ogg"
  14. };
  15. staticSoundtestSound=
  16. 0,
  17. "audio/clicksound.ogg"
  18. };
  19. classAudioManager
  20. public:
  21. @H_403_67@/*注意,此方法在进入游戏前调用*/
  22. staticvoidinit();
  23. @H_403_67@/*预加载*/
  24. voidpreLoadBgMusic(Music&music);
  25. voidpreLoadSound(Sound&sound);
  26. @H_403_67@/*播放*/
  27. voidplayMusic(Music&music,boolloop=true);
  28. voidplaySound(Sound&sound,153); background-color:inherit; font-weight:bold">false);
  29. @H_403_67@/*暂停*/
  30. voidpauseMusic(Music&music);
  31. voidpauseSound(Sound&sound);
  32. @H_403_67@/*停止*/
  33. voidstopMusic(Music&music,87); background-color:inherit; font-weight:bold">boolrelease=voidstopSound(Sound&sound);
  34. voidstopAllSound();
  35. /*恢复*/
  36. voidresumeMusic();
  37. /*全部结束*/
  38. voidend();
  39. </pre><br>
  40. <pre></pre>
  41. <br>
  42. <prename="code"class="cpp"><prename="code"class="cpp">voidAudioManager::init()
  43. {
  44. @H_403_67@/*例子*/
  45. preLoadBgMusic(bgMusic);
  46. preLoadSound(testSound);
  47. }
  48. @H_403_67@/********************************************************* @H_403_67@一些方法的封装
  49. *********************************************************/
  50. voidAudioManager::preLoadBgMusic(Music&music)
  51. usingnamespaceCocosDenshion;
  52. namespacecocos2d;
  53. music.musicFilePath=CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(music.musicFilePath);
  54. CCLOG(music.musicFilePath);
  55. SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(music.musicFilePath);
  56. voidAudioManager::preLoadSound(Sound&sound)
  57. namespaceCocosDenshion;
  58. namespacecocos2d;
  59. sound.soundFilePath=CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(sound.soundFilePath);
  60. SimpleAudioEngine::sharedEngine()->preloadEffect(sound.soundFilePath);
  61. voidAudioManager::playMusic(Music&music,87); background-color:inherit; font-weight:bold">boolloop/*default=true*/)
  62. @H_403_67@/*先判断是否已经在播放,如果在播放,则直接返回*/
  63. if(SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()){
  64. return;
  65. }
  66. SimpleAudioEngine::sharedEngine()->playBackgroundMusic(music.musicFilePath,loop);
  67. voidAudioManager::playSound(Sound&sound,0); background-color:inherit">/*defaultisfalse*/)
  68. sound.soundId=SimpleAudioEngine::sharedEngine()->playEffect(sound.soundFilePath,loop);
  69. voidAudioManager::pauseMusic(Music&music)
  70. SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
  71. voidAudioManager::pauseSound(Sound&sound)
  72. SimpleAudioEngine::sharedEngine()->pauseEffect(sound.soundId);
  73. voidAudioManager::stopMusic(Music&music,87); background-color:inherit; font-weight:bold">boolrelease/*defaultistrue*/)
  74. SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(release);
  75. voidAudioManager::stopSound(Sound&sound)
  76. SimpleAudioEngine::sharedEngine()->stopEffect(sound.soundId);
  77. voidAudioManager::stopAllSound()
  78. SimpleAudioEngine::sharedEngine()->stopAllEffects();
  79. voidAudioManager::resumeMusic()
  80. SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
  81. voidAudioManager::end()
  82. SimpleAudioEngine::sharedEngine()->end();
  83. 注意:
  84. 进入游戏后,开始初始化资源调用
  85. @H_403_67@/*初始化游戏音效*/
  86. AudioManager::init();


  87. 游戏切换到后台调用:
  88. AudioManager::pauseMusic(bgMusic);
  89. 游戏重新切换回前台
  90. AudioManager::resumeMusic();

猜你在找的Cocos2d-x相关文章