0

私はiPhoneで打撃を検出するためにインターネット上で多くのチュートリアルを見てきましたが、私のアプリの要件は、シングルブローとダブルブローの両方を検出して、ユーザーが1回ブローした場合にアクションを実行できるようにし、ユーザーが2回同時にブローした場合にアクションを実行する b.

これを行う方法はありますか?

皆さんありがとう、

4

1 に答える 1

2

確かに、単一の打撃を検出する方法を知っている場合は、しきい値を備えたタイマーを使用して、その時間内に別の打撃が発生するかどうかを確認できますか? 何かのようなもの -

-(void)userDidBlow {

    if (hasBlownOnce) {

        hasBlownOnce = NO;
        [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleBlowTimedOut) object:nil];

        // do double-blow stuff

    } else {

        hasBlownOnce = YES;

        [self performSelector:@selector(singleBlowTimedOut) withObject:nil afterDelay:kDoubleBlowTime];

    }

}


-(void)singleBlowTimedOut {

    hasBlownOnce = NO;

    // do single-blow stuff

}

私はそれをテストしていませんが、問題ないようです:)

于 2012-04-11T14:50:57.450 に答える