2011-09-17 25 views
2

これは非常に一般的で漠然とした質問ですが、私はこの機能をアプリに最も簡単に取り込む方法が不思議です。 Doodle Jumpは私の#1の例です。加速度計の校正を可能にしています。あなたの横に座っているゲームが新しいものとしてうまくいくならば。彼らはどのようにこれを行うのですか?私は私のアプリで同じ機能が欲しいが、私は何をやるべきか、どこからこの機能を得るためにここに行くのか分からない。較正加速度計?

ありがとうございます!

答えて

2

「キャリブレーション」とは、ルートの値や状態を参照する定数です。キャリブレーションをリセットしたい場合は、ほかのすべての値が導出されているルート値をリセットするだけです。加速度計を使用すると、デリゲートのコールバックによって変更が検出されたことを知ることができます。そのため、加速度計の現在の状態を「取得」する方法を記述するだけです。 tutorial outlined here

、このような方法は、として概説されています

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    calibration = acceleration.y; 
} 

しかし、我々はそれがしたいので、これは「制御」としてではありません。代わりに、代理人としてUIAccelerometerとの関係を解除するか、キャリブレーションを実行するかどうかを示すBOOL eanプロパティで囲みます。

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    if (self.allowsCalibration) 
     calibration = acceleration.y; 
} 
+0

私は前にこれを見てきましたが、事は、彼は風景を使用するので、私は肖像画を使用しています私のアプリにこれを適用する方法について混乱しています:このような何かがうまく動作するはずです。また、私は別のビューから校正していますので、そこから校正する方法を援助する必要があります。あなたはこれを行う方法に関するアイデアはありますか? –

+0

肖像画のときは、グラフを90°回転させるような感じです。基本的に、すべてのx点をy点にします。 (例:Float accelxがFloatをアクセントにしました)。 – CodaFi

+0

申し訳ありません.x値が.y値になりました。逆も同様です。また、別のビューで私のキャリブレーションをお勧めしますか?どのように私はそれを達成するだろうか? –