Actionscript 3 AS3错误#1502

Actionscript 3 AS3错误#1502,actionscript-3,actionscript,compiler-errors,Actionscript 3,Actionscript,Compiler Errors,AS3 错误:错误#1502:脚本的执行时间超过了默认的15秒超时时间 有没有一种方法可以暂时抑制特定代码块上的这种情况 我正在创建一个巨大的动态3d对象数组,1000x1000x1000,需要构建才能真正完成初始化。在“发布设置”(Flash)中查找脚本执行时间限制。如果您正在使用Flex,可能会很有用:(检查默认脚本限制、最大递归深度、最大执行时间)。哦似乎没有办法让它在特定代码段上以不同的方式运行(这是一种全局设置)。增加超时是一种选择,但是我还建议考虑一种在多个帧上构建阵列的方法,即将工

AS3 错误:错误#1502:脚本的执行时间超过了默认的15秒超时时间

有没有一种方法可以暂时抑制特定代码块上的这种情况


我正在创建一个巨大的动态3d对象数组,1000x1000x1000,需要构建才能真正完成初始化。

在“发布设置”(Flash)中查找脚本执行时间限制。如果您正在使用Flex,可能会很有用:(检查默认脚本限制、最大递归深度、最大执行时间)。哦似乎没有办法让它在特定代码段上以不同的方式运行(这是一种全局设置)。

增加超时是一种选择,但是我还建议考虑一种在多个帧上构建阵列的方法,即将工作拆分为单独的作业。只要你每隔一段时间把控制权交还给Flash播放器,你就不会得到这个异常


我不确定你的问题的具体细节,但是你需要找到一种方法来并行化或者只是简单地分割你的计算。如果你的算法围绕一个主循环,那么考虑创建一个函数,它需要记录一个迭代的上下文所需的所有参数。然后,创建一个简单的控制循环,该循环将调用此函数并确定何时等待下一帧,何时不等待。利用AS3闭包也有助于实现这一点。

您最好的选择是尝试重构代码。也许你可以利用本教程来解决你所遇到的具体问题


我不批准递增超时选项。因为在这段时间里,你的应用程序只是挂起了整个Flash播放器。普通用户认为它已经关机了,于是放弃了它

看看这个:


然后,您甚至可以显示进度,这将使您和用户更加自信。

哦,哇。这是一个奇妙的理论。我喜欢。伊玛必须使用它。有趣的东西!总结一下答案。不可以。您可以增加整个程序的超时时间。或者,您可以将阵列创建拆分为多个部分,以保持平稳运行(对于可能需要难以置信的大阵列的情况来说,这似乎是最好的选择),我们优秀的老动作脚本大师Seneyual有一点关于如何做到这一点。