Xcode和Sprite-builder中的游戏编程。计算机“思考”时的显示

时间:2015-06-18 06:38:44

标签: ios xcode spritebuilder

我正在开发一个应用程序,用于过去生成的物理桌面游戏。一切都很好(现在)。但是,当计算机“思考”的代码启动时,应用程序会“冻结”。

这是可以理解的,计算机需要时间轮到它。

我的问题是。有没有什么方法可以同时设置一个动画来运行(比如一个进度图标),而计算机继续“思考”轮到它了?

谢谢。

2 个答案:

答案 0 :(得分:1)

您无法创建类似进度条的内容,以准确指出计算机何时完成“思考”#39;正因为计算机不知道什么时候会完成。

但是,您可以创建一个只要计算机“认为”就会运行的动画。 在Spritebuilder的Gameplay文件中,创建在用户等待时显示的动画。将此动画时间线链接到自身。让我们调用默认的时间轴动画'默认'并且计算机正在思考'时间线动画'思考'。

在您用来启动计算机的方法中,添加一行代码,警告cocos2d运行“思考”。动画序列;此时不可能与游戏进行任何用户交互(下面的示例在Swift中给出):

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

因为'认为'时间轴被链接到自身,它将在一个无限循环中运行,只有在cocos2d接收到打破该时间线并开始执行另一个时间线的指令时停止,因此,只要在计算机轮到之后执行的方法内部,添加这两行以阻止“思考”。来自运行的动画并再次启用用户交互:

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

答案 1 :(得分:0)

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