flash的跳转序列问题
flash 的goto系列跳转规则比较复杂,有一个跳转队列。
对于时间轴as,他的跳转执行顺序是这样的:
1 顺序执行as ,并且把每个跳转丢到一个队列中(但是并不执行),并且修改_currentframe,直到执行完成本段as。
2 队首出队,执行该mc时间轴上该段的as(但是并不是真的跳转,只是执行同一位置的as),把新跳转丢入队列中。
3 依次执行直到结束
对于clipEvent,他同样不真正执行跳转,但是如果新的跳转点处不在同一个关键帧范围内,该段event执行就结束了(所以有可能会中途结束)。与时间轴as不同的是clipEvent不会重复执行,剩下的部分就是上述的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
时间轴跳转了。
但是要注意的是,clipEvent(load)的时候mc frame1 就已经入队列了,所以即使跳转frame1的as也会执行的。
mmm........举一个简单的例子:
时间轴as:一共5帧全部是as关键帧
第一帧:
gotoAndStop(2);
gotoAndStop(3);
gotoAndStop(4);
trace("Frame1, currentFrame:"+ _currentframe); 第二帧:
gotoAndStop(5);
trace("Frame2, currentFrame:"+ _currentframe); 并且有一个mc(仅仅第二帧),上面写着(或者在该mc的时间轴第一帧上trace类似咚咚): onClipEvent(load){
trace("little mc visited!");
}
第三、四、五帧依次是:
trace("Frame3, currentFrame:"+ _currentframe); trace("Frame4, currentFrame:"+ _currentframe); trace("Frame5, currentFrame:"+ _currentframe);
注意看,执行结果是:
Frame1, currentFrame:4
Frame2, currentFrame:5
Frame3, currentFrame:5
Frame4, currentFrame:5
Frame5, currentFrame:5
1 第1帧的时间轴as全数被执行了,_currentframe被置为4,队列依次是: 2\3\4 2 帧2出队列,第2帧的时间轴as被执行,有加了一个新的goto,_currentframe置为5,队列依次是 3\4\5 ,至于帧2的那个mc~~他完全没有被访问过
3 帧3、4、5 依次出队列并执行
……Mmmmm……明白了吗,