2011-08-11 3 views
0

На месте в моей игре есть Краткое описание Использование акселерометра. Я использую этот код:выключая iPhone акселерометр, не используя его

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]; 

но, видимо, вы должны настроить его таким образом, чтобы остановите его таким образом. Должен ли я изменить, как я настроил его, чтобы закончить его? Или я могу закончить его, используя то, что у меня есть?

Спасибо заранее,

Ме

ответ

1

Настройка делегата акселерометра в nil должны это знать, что вам не нужно ее обновления больше. Он по-прежнему не может полностью отключиться от питания - система следит за тем, чтобы он делал события смены ориентации, например, но ваше приложение не будет отвечать за это.

Смежные вопросы