1

グーグルで1、2回検索した後、ユーザーの現在の位置を保存してNSUserDefaultsに保存するこのコードを思いつきました。これは私の設定ビューにあります: コード:

//Add code for calibrating accelerometer
        UIAcceleration *acceleration;
        float accelX = (acceleration.x - [[NSUserDefaults standardUserDefaults] floatForKey:@"X-Calibrate"]);
        float accelY = (acceleration.y - [[NSUserDefaults standardUserDefaults] floatForKey:@"Y-Calibrate"]);
        [[NSUserDefaults standardUserDefaults] setFloat:accelX forKey:@"X-Calibrate"];
        [[NSUserDefaults standardUserDefaults] setFloat:accelY forKey:@"Y-Calibrate"];

私が行うキャリブレーションをリセットするには: コード:

[[NSUserDefaults standardUserDefaults] setFloat:0 forKey:@"X-Calibrate"];
    [[NSUserDefaults standardUserDefaults] setFloat:0 forKey:@"Y-Calibrate"];

ここで、少し助けが必要です。これらの値が NSUserDefaults に含まれるようになりました。キャリブレーションが「完全に」実装されるように、次のコードにどのように適用しますか? 現在の加速度計のコードは次のとおりです。 コード:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceration {
    AccelPoint.x += (acceration.x*50);
    if (AccelPoint.x < 0) {
        AccelPoint.x = 320;
    }
    if (AccelPoint.x > 320) {
        AccelPoint.x = 0;
    }
    playerSpeed += 0.066;
    AccelPoint.y += playerSpeed;
    Square.center = AccelPoint; 
}

これは、いくつかの変数とその定義方法です: コード:

CGPoint AccelPoint;
float playerSpeed;

ありがとう!

また、その加速度計コードに関する簡単な質問ですが、if-elseif を使用する必要がありますか? それはより効率的でしょうか、それともif-ifのままにしておくべきですか?

4

0 に答える 0