0

私はObjective-CとiOSの開発にかなり慣れていません。加速度計クラスのドキュメントをいくつか読んだ後でも、いくつかのことについてはよくわかりません。そのため、これらを明確にしてください。また、C++を失礼します。 ..私は例としてのみ使用しています。

このようなスミスに見えるwhileループを作成したいと思います。

while(play)
{
    while(getYaxis()>=..... && getYaxis()<=....)
    {
        //do something..
    }
    //more code to execute...
}

メソッドが呼び出されたときに加速度計のY軸に加えられた力を返す「getYaxis」というメソッドを作成したいと思います...

これは可能ですか、そしてどのようにですか?どうやら、一定の間隔でg値を返すように加速度計を設定できますが、1つの値だけが「秒」を返すようにしたいので、while条件で要求します。次に、残りのコードを上記のように実行する必要があります。ある時点で、そのwhileループに戻り、Y値を再度確認します。つまり、加速度計の値をチェックする頻度に関する間隔を設定するのではなく、その間隔を残りのコードを実行してY-をチェックするwhileループに戻るのにかかる時間にします。または、2つのチェック間のこの間隔が短すぎて、最終的に問題が発生する可能性がありますか?

ありがとう!

4

1 に答える 1

0

加速度計を入手して代理人になる方法は次のとおりです。

UIAccelerometer *theAccelerometer = [UIAccelerometer sharedAccelerometer];
theAccelerometer.updateInterval = 0.001; //in seconds
theAccelerometer.delegate = self;

<UIAccelerometerDelegate>VCに追加することを忘れないでください。

次に、次の変更をキャッチできます。

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

{
    self.x = acceleration.x;
    self.y = acceleration.y;
    self.z = acceleration.z;
}

x,y,zタイプのプロパティが作成されていることを確認してくださいUIAccelerationValue

getX次に、またはgetY;というメソッドを記述します。

-(UIAccelerationValue *) getY
{
    return self.y;
}

非常にミリ秒または必要な速度で更新し、プロパティに保存します。次に、関数を使用してプロパティの値を確認できます。

于 2012-07-05T21:08:51.430 に答える