多个层的运行时错误

时间:2014-04-14 23:36:08

标签: actionscript-3 flash runtime-error

我注意到当Flash警告我多个脚本层的运行时错误时,错误行似乎不准确(我很确定它只是告诉我错误所在代码的哪一行,不是我正在使用的图层的特定线)。警告甚至没有告诉我问题在哪个层。例如:

  

TypeError:错误#1009:无法访问null的属性或方法   对象参考。在   _example_fla :: MainTimeline /创建my_function()[_ example_fla.MainTimeline ::帧1:523]

无论如何我可以让Flash告诉我这个问题出现在哪一层,一帧和一行(在那一层)?

1 个答案:

答案 0 :(得分:1)

不,不幸的是,Flash没有提供有关图层的信息。你必须做一些数学运算。

错误发生在第1帧(您可以在邮件上的::之后看到)。

要查找图层,您必须从上到下计算每个图层上的代码行数。 Flash将其视为一长串代码。因此,例如,如果第1层有452行,第2层有12,第3层有59,你可以在第三层第57行找到你的错误。

523-452 = 71

71-12 = 59

因此,第57行,第3层

这可能会让人讨厌。正是出于这个原因,我公司对时间线上的代码的标准做法是将所有代码(通常是事件侦听器除外)放在一个层上,位于堆栈顶部,称为SCRIPTS。没有其他东西存在于该层 - 它只是空的代码。它让生活变得如此简单。