我正在用SpriteKit在Swift2上开发一个IOS象棋应用程序。当与计算机玩家玩游戏时,直到计算机思维结束,才会显示人的移动。在计算机思维结束后,(人的移动和计算机的移动)都被显示在一起。
预期的功能:一旦人类播放他/她的移动,移动必须显示在屏幕上。只有在展示了人类的动作之后,计算机思维才必须开始。
最初,我在touchesBegan函数中调用计算机思维逻辑。它没有像预期的那样起作用。然后,我将调用转移到touchesEnded函数中。这一问题仍然存在。现在,我已经将调用放在更新函数中。这个问题仍然存在。
我找不到这个问题的答案。有别的办法来解决这个问题吗?
谢谢,ArtBajji
发布于 2016-04-08 03:18:19
如果问题是“计算机”在人类移动后反应迅速,您可以使用在您的dispatch_after中实现的一个touchesEnded块。
let delay = 0 //time in seconds
dispatch_after(delay, dispatch_get_main_queue()) {
//computer starts thinking
}https://stackoverflow.com/questions/36490791
复制相似问题