2004/09/24 | loadMovie后的帧代码执行顺序
类别(Flash) | 评论(0) | 阅读(229) | 发表于 18:04
loadMovie后的帧代码执行顺序

自从上次loadMovie后的attachMovie的问题得以解决

这次和树树讨论的时候,又重温了这个问题.
就是loadMovie后在判断loading完毕后时,对加载进来的swf进行操作失败的原因

在用 getBytesLoaded()==getBytesTotal() 判断加载完毕后,对加载的swf执行 帧跳转是不行的

因为在当判断加载完毕后,直接delete掉事件循环,那么操作swf的代码也就执行了一次,在刚加载完毕的时候执行了一次.而这一次执行是在,加载的swf第一帧代码之前进行的!

所以,如果加载的swf第一帧有操作跳帧的代码,那么之前的操作都会作废.

因为flash的跳转帧机构是由堆栈来实现的
简单的说就是当flash在一帧里面发现一个和跳帧相关的命令就仍到一个堆栈中,直到此帧代码执行全部结束,然后开始分析这个堆栈,把堆栈中的一条条gotoandplay等命令拿出来执行,最后执行的,也就是我们能感受到的.
好像
stop();
gotoAndPlay(2);
那么你得到的是gotoAndPlay(2);的效果,反之依然....
当然他那个堆栈是从顶部一条条拿出来执行,最终实行最后一条的,还是拿出顶部的一条,把后面的全部delete的,我就不知道了,要去问flash开发人员了,呵呵,反正只要知道,每一帧中的跳转代码再多,也只有最后一个被执行的会实现
0

评论Comments

日志分类
首页[76]
Say[10]
Flash[31]
PHP[3]
XML[2]
Cool[12]
Weapon[10]
Other[8]