-2

それで、フラッピーバードのレプリカを作ろうとしていました。しかし、鳥の羽ばたきをどのように達成するのか疑問に思っていましたか?メソッドを使うことを考えた

- (void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event

しかし、この方法を使用して画面を押し下げると、鳥が羽ばたき続けることに気付きました。画面をタップしたときに鳥が羽ばたきたいだけで、画面を押し下げると、1回タップしたのと同じように動作します。

この種のアクションを利用するクラス参照はありますか?

4

2 に答える 2

1

タップ イベントの取得には、Apple が提供する UITapGestureRecognizer を使用できます。それを開始し、必要に応じてパラメーターを設定し、タップを記録したいビューに追加するだけです。

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    tap.numberOfTapsRequired = 1;
    tap.numberOfTouchesRequired = 1;
    [demoView addGestureRecognizer:tap]; // The gesture recognizer is being added to demoView
    [tap release]; // In case of not using ARC

そして、初期化で言及したセレクターを定義します。

- (void)handleTap:(UITapGestureRecognizer *)recognizer{
         // Handle the tapping here
}
于 2014-03-04T06:51:06.937 に答える