Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检测核心动画被跳过/启动失败_Iphone_Core Animation - Fatal编程技术网

Iphone 如何检测核心动画被跳过/启动失败

Iphone 如何检测核心动画被跳过/启动失败,iphone,core-animation,Iphone,Core Animation,在我的游戏中,我有一系列的核心动画在瞬间一个接一个地运行。在动画结束时,调用一个方法来触发(animationDidStop:)一些重要的逻辑 通常这很有效。然而,偶尔,特别是在速度较慢的设备上,如iPhone 3G或iPhone 2,由于时间问题(运行的东西太多,CPU无法跟上),其中一个动画会被跳过(或无法启动)。我可以跳过动画,但问题是,我的方法也不会被调用。如果能检测到这样的跳过就好了 有人知道如何检测核心动画被跳过/启动失败的情况吗 谢谢。我确信有一个更好的选项我没有看到,但您可以始终

在我的游戏中,我有一系列的核心动画在瞬间一个接一个地运行。在动画结束时,调用一个方法来触发(animationDidStop:)一些重要的逻辑

通常这很有效。然而,偶尔,特别是在速度较慢的设备上,如iPhone 3G或iPhone 2,由于时间问题(运行的东西太多,CPU无法跟上),其中一个动画会被跳过(或无法启动)。我可以跳过动画,但问题是,我的方法也不会被调用。如果能检测到这样的跳过就好了

有人知道如何检测核心动画被跳过/启动失败的情况吗


谢谢。

我确信有一个更好的选项我没有看到,但您可以始终将状态保存在某个变量中,然后使用NSTimer启动任务,稍后检查该状态


希望其他人能为你想出一些不那么令人讨厌的东西

你需要用两样东西来做这件事 -n定时器*定时器 -布尔Isanimation已完成

1) 启动与动画时间相同的计时器“计时器”。 2) 在(animationDidStop:)方法中设置“isAnimationCompleted=TRUE” 3) 在“计时器”勾选后,检查“isAnimationCompleted”变量

如果(!isAnimationCompleted)
[自言自语]

如果希望不失败地执行所有动画,也可以使用NSOperationQueue。请参阅:如果希望不失败地执行所有动画,也可以使用NSOperationQueue。请参阅: