我对这个问题感到很困惑......
在第一帧中,我编写了以下代码:
stop();
var currentInterInfo:IntersectionInfo = null;
var currentInter:Intersection;
gotoAndPlay("Frame3");
并在第二帧(标记为“Frame2”)中写道:
stop();
trace("Frame2");
并在第3帧(标记为“Frame3”)中写道:
stop();
currentInter = new Intersection(.....); // notes that the constructor of the Intersection class is empty
trace("Frame3");
当我运行它时,我在输出中得到“第2帧”,但结果却得到“第3帧”...... 当我调试时,我得到“第3帧”...... 不知道这里有什么不对...... 我在下面的链接中上传了我的项目,以防你想查看它......
答案 0 :(得分:1)
适合我!
这种情况下的情况是:
当您在闪存中编译SWF或加载它时,它会加载所有帧。
所以在这一点上并不是所有的帧都是堆叠的,所以你可以发送到最后一个帧,在这种情况下它是2。
第一帧中的将您的代码更改为:
import flash.utils.setTimeout;
stop();
var currentInterInfo:IntersectionInfo = null;
var currentInter:Intersection;
setTimeout ( init, 100 )
function init ()
{
gotoAndPlay("Frame3");
}
或以某种方式阻止应用程序在完全加载之前启动。