@Cocos2d-x3.x实现播放游戏音效与手机震动(2016.12.1更新)
Cocos2d-x中振动的实现和SimpleAudioEngine声音的播放等类似,都算为一种简单的音效播放,只不过震动音效需要自己添加具体定义才能调用,具体添加以及调用方法如下:
1.调用的类中先包含头文件:
@H_502_25@
#include"SimpleAudioEngine.h"
播放音效(背景音乐)是调用类似下面的函数:@H_502_25@
//播放音效CocosDenshion::SimpleAudioEngine::getInstance()->playEffect("menu_bg.mp3");
// 背景音乐 CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("menu_bg.mp3",true);
但是SimpleAudioEngine默认没有振动函数vibrate()的定义,需要开发者自行添加,具体如下:@H_502_25@
@H_502_25@
找到SimpleAudioEngine的.h头文件(可以通过按住command然后点任意一个有SimpleAudioEngine的地方跳到):@H_502_25@
@H_502_25@
在头文件里定义一个振动函数:void vibrate();@H_502_25@
@H_502_25@
@H_502_25@
command同时点击其他已经定义的任意一个函数跳到SimpleAudioEngine的.m文件里实现vibrate的实现函数,实现代码如下:@H_502_25@
@H_502_25@
//播放振动 void SimpleAudioEngine::vibrate() { AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); }
@H_502_25@
之后就可以在需要的地方调用自己定义的振动函数实现手机振动了:@H_502_25@
@H_502_25@
//手机振动(cocos2dx 2.x) SimpleAudioEngine::sharedEngine()->vibrate();(已弃用)
新版cocos2dx 3.x调用方法(添加了域名):@H_502_25@
@H_502_25@
// 震动 CocosDenshion::SimpleAudioEngine::getInstance()->vibrate();