0

簡単なゲームを作りました。プレイヤーが順番に動くシンプルなボードゲームです。ターンが変わるとき、私はこれのためにいくつかのアニメーションを作りました。プレイヤー 1 が動きます。次に、アニメーション (現在の移動ポインターの色をプレーヤー 2 に変更)、次に、プレーヤー 2 が移動し、ターン ポインターの色がプレーヤー 1 に変わります。

プレイヤー対プレイヤーをプレイするときは問題なく動作しますが、コンピューターの対戦相手を作成したところ、彼の動きが速すぎて、カラー ターン ポインターがコンピューターのターンに色を変える時間がなく、コンピューターがターンを行った後、元の色に戻らなければなりません。私のターンの色ですが、実際にはすべてが速すぎます。そのため、この色のターン ポインターは私のターンのみを示していることがわかります。

どうすればコンピューター対戦相手の方法を遅延などで機能させることができますか?

NSTimer について考えていますが、適切な方法でこれを行う方法がわかりません。
読んでくれてありがとう。

4

1 に答える 1

0

標準の UIKit アニメーションを使用している場合は、コンピューターの対戦相手の動きを実行するコードを完了ブロック内に配置できます。そうすれば、コンピューターの動きは、ターン アニメーションが終了した後にのみ発生します。このようなもの:

  [UIView animateWithDuration:1.0 delay:0 options:0 animations:
         ^{
            //Your turn animation goes here

         } completion:^(BOOL finished){

             //The code to call your computer opponent's move code goes here

         }];
于 2013-04-29T23:23:13.473 に答える