如何用cocos2d-x来开发简单的Uphone游戏:(四) 音乐音效 最后的润色.doc

如何用cocos2d-x来开发简单的Uphone游戏:(四) 音乐音效 最后的润色.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何用cocos2d-x来开发简单的Uphone游戏:(四) 音乐音效 最后的润色

著作权声明:本文由/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!? 到上一篇为止,我们已经基于cocos2d-x开发出一个很简单的Uphone游戏原型了。下面再添加一些音效、背景音乐和简单的游戏逻辑就可以完工了。 六、音乐音效的实现 ? cocos2d-iphone中包含一个cocosDenshion库,里面从底到高提供三层接口,CDSoundEngine-CDAudioManager-SimpleAudioEngine。 cocosDenshion整个是依赖于OpenAL实现的。但OpenAL并不像OpenGL是Khronos Group的标准,而是Creative(创新)公司的一个开源库,可以软实现或硬件实现,只是名字起的比较山寨容易让人联想到OpenGL而已。目前硬件实现了OpenAL的好像就苹果一家,对于没有OpenAL的Uphone而言,我们就无法提供cocosDenshion库里底层那些复杂的音效支持了。而最顶一层,SimpleAudioEngine是最简单实用的、也是开发者最常用到的,cocos2d-x提供了这层接口的封装。我们来看游戏代码中如何“只用一行”就实现了音效播放 首先把background-music-aac.mp3和pew-pew-lei.wav两个文件拷贝到 D:\Work7\NEWPLUS\TDA_DATA\UserData 目录下。这里说明两点 Wenderlic文章中提供的这两个音乐文件,是caf格式,这是苹果自己的格式。我们在这里分别转成WAV和MP3,演示一下SimpleAudioEngine对这两种大众格式的支持 和前面的图片资源一样,我们先简单化地把音乐资源拷贝到uphone模拟器默认的资源目录下,通过直接读文件来使用。在本系列教程的下一篇“打包发布”中将会描述如何把图片和音乐和程序打在一个二进制包里,游戏开发者不用担心资源被人轻易拷走后山寨的问题 ? 先在HelloWorldScene.cpp的开头,添加对SimpleaudioEngine.h的包含 //?cpp?with?cocos2d-x #include?SimpleAudioEngine/SimpleAudioEngine.h //?objc?with?cocos2d-iphone #import?SimpleAudioEngine.h? 然后在bool HelloWorld::init()方法中,加入播放背景音乐的代码 //?cpp?with?cocos2d-x SimpleAudioEngine::getSharedEngine()-playBackgroundMusic( ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? background-music-aac.mp3); //?objc?with?cocos2d-iphone [[SimpleAudioEngine?sharedEngine]?playBackgroundMusic: ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@background-music-aac.caf];? 接着在ccTouchesEnded方法中播放扔出飞镖的音效 //?cpp?with?cocos2d-x SimpleAudioEngine::getSharedEngine()-playEffect(pew-pew-lei.wav); //?objc?with?cocos2d-iphone [[SimpleAudioEngine?sharedEngine]?playEffect:@pew-pew-lei.caf];? 音效和背景音乐就这样简单搞定了。 ? 七、最后的润色 ? 现在让我们创建一个新场景,在打掉若干小怪、或者被小怪穿到屏幕左边时显示“You Win”或“You Lose”的界面。在Visual Studio中新建两个文件, GameOverScene.cpp和GameOverScene.h ? GameOverScene.h的内容? ?1?//?cpp?with?cocos2d-x ?2?#ifndef?_GAME_OVER_SCENE_H_ ?3?#define?_GAME_OVER_SCENE_H_ ?4? ?5?#include?cocos2d.h ?6? ?7?class?GameOverLayer?:?public?cocos2d::CCColorLayer ?8?{ ?9?public: 10???GameOverLayer():_label(NULL)?{}; 11???virtual?~GameOverLayer(); 12???bool?init(); 13

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档