我正在为我过去生产的物理板游戏开发一个应用程序。(目前)一切都很好。但是,当电脑“思考”的代码启动时,应用程序就会“冻结”。
这是可以理解的,计算机需要时间来使它转动。
我的问题是。有什么办法可以同时设置一个动画运行(就像一个进度图标),而计算机继续“思考”它的轮流?
谢谢。
发布于 2015-08-24 03:21:09
你不能制作像进度条这样的东西,因为计算机不知道什么时候会完成,所以不能准确地指示计算机什么时候完成“思考”。
但是,您可以创建一个只要计算机“思考”就能运行的动画。在Spritebuilder中的游戏文件中,创建用户等待时要显示的动画。将这个动画时间线链接到自己身上。让我们将默认时间线动画称为“默认”,“计算机正在思考”时间线动画“思考”。
在启动计算机回合的方法中,添加一行代码,警告cocos2d运行“think”动画序列;此时让用户无法与游戏进行任何交互也是很好的(下面是Swift中的示例):
animationManager.runAnimationsForSequenceNamed("think")
self.userInteractionEnabled = false由于“think”时间线是与其自身链接在一起的,因此它将在一个无限循环中运行,只有当cocos2d收到一条指令来中断该时间线并开始执行另一条时间线时,它才会停止,因此,就在您执行的方法中,在计算机结束后,添加这两行以阻止“think”动画的运行,并再次启用用户交互:
animationManager.runAnimationsForSequenceNamed("default")
self.userInteractionEnabled = true发布于 2015-06-18 06:41:05
不知道你在哪里构建你的实际游戏,使用不同的线程是方法。你在搞什么游戏?哪种语言,框架,平台?
https://stackoverflow.com/questions/30908157
复制相似问题