Hoje implementei o gesto de agitar em um jogo. Percebi que preciso tremer muito com meu iPad para fazer as coisas acontecerem. (configuração padrão).
Aqui está uma solução simples para tornar a agitação mais suave. Basta experimentar com o valor accelerationTreshold.
.h
@interface ViewController : UIViewController <UIAccelerometerDelegate>
.m
// customize here
#define accelerationThreshold 1.3
- (void)viewDidLoad
{
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/60.0f;
}
// event handling
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
if (fabsf(acceleration.x) > accelerationThreshold || fabsf(acceleration.y) > accelerationThreshold || fabsf(acceleration.z) > accelerationThreshold) {
// your action here
}
}
}