Xcode 和 Sprite-builder 中的游戏编程。在计算机上显示 "thinks"

Game programming in Xcode and Sprite-builder. Display while computer "thinks"

我正在为我过去制作的实体棋盘游戏开发应用程序。一切正常(目前)。但是当计算机代码 "thinking" 启动时,应用程序 "freezes up"。

这是可以理解的,电脑需要时间来完成。

我的问题是。有什么方法可以同时将动画设置为 运行(如进度图标),同时计算机继续 "think" 轮到它了吗?

谢谢。

不知道你在哪里构建你的实际游戏,使用不同的线程是可行的方法。你用什么构建游戏?哪种语言、框架、平台?

你不能制作进度条之类的东西来准确指示计算机何时完成'thinking'正是因为计算机不知道它何时完成。

但是,您可以创建一个动画 运行 只要计算机 'thinks'。 在 Spritebuilder 的 Gameplay 文件中,创建您希望在用户等待时显示的动画。将此动画时间轴链接到自身。我们调用默认时间轴动画'default'和'computer is thinking'时间轴动画'think'.

在您用来启动计算机回合的方法中,添加一行警告 cocos2d 到 运行 'think' 动画序列的代码;此时最好让用户无法与游戏进行任何交互(下面的示例在 Swift 中给出):

animationManager.runAnimationsForSequenceNamed("think")
self.userInteractionEnabled = false

由于 'think' 时间线与自身相连,它将 运行 无限循环,仅在 cocos2d 收到中断该时间线并开始执行另一条时间线的指令时停止, 因此,在计算机结束后执行的方法中,添加这两行以停止 运行ning 的 'think' 动画并再次启用用户交互:

animationManager.runAnimationsForSequenceNamed("default")
self.userInteractionEnabled = true