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 回答