cocos2dx iOS 震动
在之前开发安卓应用时,我为安卓设备添加过震动功能。今天,我将分享如何在 Cocos2d-x 开发的 iOS 应用中实现震动效果,主要介绍实现思路和具体步骤。
实现原理
在 iOS 开发中,AudioToolbox
框架可以很方便地实现手机震动。和在安卓开发中在 SimpleAudioEngine
里添加震动代码类似,我们也在 SimpleAudioEngine
中添加相关震动代码。
具体步骤
1. 修改头文件 SimpleAudioEngine.h
在 SimpleAudioEngine.h
头文件中增加震动方法的声明。代码如下:
// 增加震动方法
void vibrate();
2. 修改 ios/
文件夹下的 SimpleAudioEngine.mm
在 SimpleAudioEngine.mm
文件中实现震动方法。代码如下:
void SimpleAudioEngine::vibrate()
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
3. 调用震动方法
在需要触发震动的地方,调用 SimpleAudioEngine::sharedEngine()->vibrate();
即可让手机产生震动效果。
关于 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
用于播放系统的震动声音。该方法的震动效果取决于系统设置,如果系统关闭了震动功能,调用此方法将不会有任何效果。
拓展功能
原本我打算编写回调函数来实现类似安卓中指定时间、指定次数的震动功能。但在一位经验丰富的开发者提醒后,我了解到 iOS 在这方面的审核比较严格,应用经常会因为震动功能不符合要求而被打回。所以目前来看,暂时没有必要实现该拓展功能,后续有需要时再进行补充。
以上就是在 Cocos2d-x 开发的 iOS 应用中实现震动功能的基本方法。