在我的游戏中,有一个简短使用加速度计。我使用这段代码:
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/60.0f;
启动加速度计,然后使用以下命令更新:
- (void)accelerometer:(UIAccelerometer *)accellerometer didAccelerate:(UIAcceleration *)acceleration {
if (whichLevel == 24) {
//Blah blah blah, using accelerometer
} else {
//Turn accelerometer off somehow?
}
//I have found out using this:
NSLog(@"Accelerometer being used");
//That the accelerometer is being used after I start it in the game.
}
当然,在.h我放了一个 这种代码在很多教程中使用 - 但我的观点是,这只用了很短的时间,我想在我不使用它的时候关掉它。 (其中没有教程向您展示如何操作)
Apple似乎在这里说:http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html - 你应该使用[motionManager stopAccelerometerUpdates];
但显然你必须这样设置才能以这种方式阻止它。我是否必须改变设置方式以结束它?或者我可以用我拥有的东西结束它吗?
提前致谢,
我
答案 0 :(得分:1)
将加速度计的委托设置为nil
应该让它知道您不再需要更新。它仍然可能无法完全关闭 - 例如系统会监视它提供方向更改事件 - 但您的应用程序不会对此负责。