我注意到当Flash警告我多个脚本层的运行时错误时,错误行似乎不准确(我很确定它只是告诉我错误所在代码的哪一行,不是我正在使用的图层的特定线)。警告甚至没有告诉我问题在哪个层。例如:
TypeError:错误#1009:无法访问null的属性或方法 对象参考。在 _example_fla :: MainTimeline /创建my_function()[_ example_fla.MainTimeline ::帧1:523]
无论如何我可以让Flash告诉我这个问题出现在哪一层,一帧和一行(在那一层)?
答案 0 :(得分:1)
不,不幸的是,Flash没有提供有关图层的信息。你必须做一些数学运算。
错误发生在第1帧(您可以在邮件上的::之后看到)。
要查找图层,您必须从上到下计算每个图层上的代码行数。 Flash将其视为一长串代码。因此,例如,如果第1层有452行,第2层有12,第3层有59,你可以在第三层第57行找到你的错误。
523-452 = 71
71-12 = 59
因此,第57行,第3层
这可能会让人讨厌。正是出于这个原因,我公司对时间线上的代码的标准做法是将所有代码(通常是事件侦听器除外)放在一个层上,位于堆栈顶部,称为SCRIPTS。没有其他东西存在于该层 - 它只是空的代码。它让生活变得如此简单。