0
自分のiPhone 4からCore Motionでジャイロスコープのデータを取得したいだけですが、常にロール= 0、ピッチ= 0、ヨー= 0が得られます。 は、集中的な検索後、私は、私はiPhone 4 上でそれを実行しますが、私は設定でジャイロを有効にする必要がありますか、誤ったものiPhone 4にジャイロスコープはありませんか?
if (motionManager.isDeviceMotionAvailable)
{
[motionManager startDeviceMotionUpdates];
}
収益を認識しましたか?それとも私は何が間違っていますか?
@interface GameLayer : CCLayer {
CMMotionManager *motionManager;
}
@property (nonatomic, retain) CMMotionManager *motionManager;
@end
そして、私はmotionManagerを実装ところ、これは次のとおりです:
- (id) init
{
self=[super init];
if(self)
{
self.motionManager = [[[CMMotionManager alloc] init] autorelease];
motionManager.deviceMotionUpdateInterval = 1.0/60.0;
if (motionManager.isDeviceMotionAvailable)
{
[motionManager startDeviceMotionUpdates];
}
else
{
NSLog(@"No motion captured");
}
[self scheduleUpdate];
}
return self;
}
とそれを呼び出してループ:
- (void) update:(ccTime)delta
{
CMDeviceMotion *currentDeviceMotion = motionManager.deviceMotion;
motionManager.showsDeviceMovementDisplay = YES;
CMAttitude *currentDeviceAttitude = currentDeviceMotion.attitude;
float roll = currentDeviceAttitude.roll;
float pitch = currentDeviceAttitude.pitch;
float yaw = currentDeviceAttitude.yaw;
}
ITは私のために働きます。 'motionManager'が' nil'でないこと、そしてあなたがシミュレータではなくデバイス上で実際に動作していることを確認してください。 – sch
'motionManager'はどのように作成しますか?あなたはコードを投稿できますか? – Saphrosit
私はmotionManagerを初期化するいくつかのコードを追加しました...多分それは私を助けるのに役立ちます:) – clash