0

画面をタッチしてプレイヤーが撃つシューティングゲームを作成しています。私が抱えている問題は、画面に触れたままドラッグすると、連射することです。これに対処する最善の方法は何ですか?

プレイヤーが指を押し下げたまま安定したペースで撃ち、指を上げると撃ち止まるようにしたいです。

タイマーを使用することだけを考えていましたが、あまり効率的ではないと思います...他にアイデアはありますか?

ありがとう

4

1 に答える 1

1

撮影の実施方法について詳しく知りたいのですが、これを達成する方法を教えてください。

  1. cocos2d では、CCSchedulerタイマーを使用する代わりに、 を使用してメソッド呼び出しをスケジュールできます。そして、これは非常に効率的です。パフォーマンスについて心配する必要はありません。
  2. スケジュールされた方法では、ユーザーがまだ画面に触れているかどうかを確認し、それに応じて撮影するかどうかを決定します。

開始するためのコードを次に示します。

注: cocos2d v1.0.1 を使用しています。cocos2d v2.0 では、CCSchedulerが に移動したと思いますCCDirector

- (void)init {
    // ...

    [[CCScheduler sharedScheduler] scheduleSelector:@selector(shoot:) forTarget:self interval:0.2f paused:NO];

    // ...
}

- (void)shoot:(ccTime)dt {
    if (userIsTouching) {
        [player shoot];
    }
}
于 2012-08-02T17:23:10.063 に答える