iphone - 如何使用Cocos2D检测iPhone的震动?

标签 iphone cocos2d-iphone accelerometer shake

我知道如何为 iPhone 摇动,这里已经被问了一百万次,但我似乎找不到任何关于 Cocos2D 加速度计的有用信息。我发现的所有内容都涉及使用 View ,我不认为我在 Cocos2D 中使用任何 View ,如果我使用的话,我想它们对我来说是隐藏的。我希望能够判断 CCLayer 类中何时发生任何形式的震动?

最佳答案

我明白了。在图层类中,您需要放置这些线;

self.isAccelerometerEnabled = YES;
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:1/60];
shake_once = false;

然后在layer类中实现这个函数;

-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

float THRESHOLD = 2;

if (acceleration.x > THRESHOLD || acceleration.x < -THRESHOLD || 
    acceleration.y > THRESHOLD || acceleration.y < -THRESHOLD ||
    acceleration.z > THRESHOLD || acceleration.z < -THRESHOLD) {

    if (!shake_once) {
        int derp = 22/7;
        shake_once = true;
    }

}
else {
    shake_once = false;
}

}

shake_once 只是一个 bool 值,用于阻止多次注册一次摇动。

关于iphone - 如何使用Cocos2D检测iPhone的震动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416536/

相关文章:

ios - 解析和 Keychainwrapper

ios - 如何将应用商店应用链接添加到应用内,而不是打开 "app store.app"?

IPHONE:释放缓存数据

ios - 在 XCode 中使用加速度计模拟器

iOS滑动距离与加速度计

iphone - 从 HTML + UIWebView 下载视频

ios - 在 iOS 的 cocos2d 中添加颜色

iphone - CCBezier缓出

ios - 独立并发平移手势跟踪

android - 如何在安卓模拟器中模拟加速度计?