Je suis en train de faire une application simple en utilisant gyroscopique, où un personnage se déplace en fonction de la rotation de l'iPad 1.iPad 1 Gyroscope: roulis, tangage, lacet reste zéro
Mon code ne fonctionne pas, alors J'ai testé pour voir les valeurs de raw, pitch, lacet, et ils restent effectivement comme zéro mais je déplace l'appareil. Je suis sûr que l'iPad 1 prend en charge CMMotionManager, donc je ne suis pas sûr de ce qui le cause ... Mon code est le suivant
- (id) init{
if((self=[super init])){
self.isTouchEnabled = YES;
winSize = [[CCDirector sharedDirector] winSize];
[self createRabbitSprite];
self.motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 1.0/60.0;
if(motionManager.isDeviceMotionAvailable){
[motionManager startDeviceMotionUpdates];
}
[self scheduleUpdate];
//[self registerWithTouchDispatcher];
}
return self;
}
-(void)update:(ccTime)delta{
CMDeviceMotion *currentDeviceMotion = motionManager.deviceMotion;
CMAttitude *currentAttitude = currentDeviceMotion.attitude;
if(referenceFrame){
[currentAttitude multiplyByInverseOfAttitude:referenceFrame];
}
float roll = currentAttitude.roll;
float pitch = currentAttitude.pitch;
float yaw = currentAttitude.yaw;
NSLog(@"%.2f and %.2f and %.2f",roll,pitch,yaw);
rabbit.rotation = CC_RADIANS_TO_DEGREES(yaw);
}
S'il vous plaît aider moi sortir .. et merci à l'avance.
(modifier)
Apparemment, motionManager.isDeviceMotionAvailable retourne FAUX ... qui doit vouloir dire que l'iPad 1 ne supporte pas CoreMotion ??? Serait-ce quelque chose avec le réglage?
Vous pouvez vous référer à cette réponse: http://stackoverflow.com/a/10145614/1336105 –