我做了一个简单的游戏,这是一个简单的棋盘游戏,当玩家轮流移动时。当转弯是变化时,我为此做了一些动画。所以,在这里它如何:玩家1采取行动;接下来,动画(改变当前移动指针到玩家2的颜色),接下来,玩家2移动然后转向指针的颜色变为玩家1.
当我玩玩家与玩家时,它工作得很好,但我做了一个电脑对手,它使他的移动速度如此之快,以至于颜色转向指针没有时间将颜色改变为计算机转向并且在计算机转弯后它必须改回我的转弯颜色,但事实上它都变得太快了,所以我看到这个颜色转弯指针只显示轮到我了。
如何使计算机对手方法适用延迟或什么?
我正在考虑NSTimer,但我不知道如何以正确的方式做到这一点 谢谢阅读。
答案 0 :(得分: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
}];