- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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-xSimpleAudioEngine::getSharedEngine()-playBackgroundMusic(
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? background-music-aac.mp3); //?objc?with?cocos2d-iphone[[SimpleAudioEngine?sharedEngine]?playBackgroundMusic:
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@background-music-aac.caf];? 接着在ccTouchesEnded方法中播放扔出飞镖的音效
//?cpp?with?cocos2d-xSimpleAudioEngine::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
您可能关注的文档
最近下载
- 全国乙卷2023高考语文试题及答案解析.doc VIP
- 管理体系审核员注册准则(2021.4.1实施).docx
- 厦门建设工程文明施工与安全防护图集【厦门2018】.pdf
- 微课设计与制作.ppt VIP
- 指数研究与指数化投资系列:历久弥新、持续迭代的中信证券指数体系.pdf
- 指向学科核心素养的大单元语文教学(专题讲座).pptx
- 部编人教版2024年中考历史模拟试卷及答案(含三套题).doc VIP
- GB_T 27930-2023_新能源充电新标准.pdf
- 2024年上海市初三中考物理冲刺复习专题01 常见的力含详解.docx VIP
- 2024年中医妇科学(副高)考试历年核心考点试题附带答案.docx VIP
文档评论(0)