主题:  向大家请教一个问题

Erisaki

职务:普通成员
等级:1
金币:0.0
发贴:41
#12002/10/6 15:20:26
我在主时间轴上放了一个mc,名字叫loada,是用它来load其它swf的,但我需要的是load完这个swf之后再跳到主时间的某一贞和load进的swf一起播放。但每次都是直接跳到那一贞,然后慢慢才load进我要的动画。
所以请各位指点一二:
以下是我用来判断是否load完那个swf的代码:
loadMovie ("1.swf", _root.loada);
if (_level0.loada._framesLoaded==_level0.loada._totalframes) {
i = _root.num;
_root.eye.play();
_root.gotoAndStop(i+5);
}
我很想知道我的判断语句为什么会失效,如果我不加这段判断语句就不会跳到后面,但有了这段代码就立刻不等load完就跳到后面了。。



Erisaki

职务:普通成员
等级:1
金币:0.0
发贴:41
#22002/10/6 15:30:30
我最想知道的是如何获得那句判断mc里面的swf完全load完的语句,即if的条件语句,否则我都不知道如何进入下一个步骤。谢谢



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#32002/10/6 15:45:24
loadMovie ("1.swf", _root.loada);
_root.onEnterFrame=function(){
if (_root.loada._getBytesLoaded==_root.loada._getBytesTotal&&_root.loada._getBytesLoaded>1) {
i = _root.num;
_root.eye.play();
_root.gotoAndStop(i+5);
_root.onEnterFrame=undefined}
}

------------------------------------------------------------------------
load需要时间,而你的代码只执行一次。用enterFrame事件反复执行判断代码,直到load完毕。

编辑历史:[这消息被mmommo编辑过(编辑时间2002-10-06 15:47:58)]
[这消息被mmommo编辑过(编辑时间2002-10-06 15:48:15)]
[这消息被mmommo编辑过(编辑时间2002-10-06 15:51:48)]


Erisaki

职务:普通成员
等级:1
金币:0.0
发贴:41
#42002/10/6 16:07:25
多谢斑竹回复,其实我都用都是用两贞循环来不断运行这个代码的,不过我对你的这行代码不是很明白:
_root.onEnterFrame=undefined
可否解释一下呢?
而且刚刚试过代码,现在好像是load入swf之后就不进行后面的代码了
而起如果不加上这句&& _root.loada._getBytesLoaded>1话就好像我原来一样,但这样好像是看不到loading而直接去了后面的,想了很久都不是很明白,所以请再次指教
谢谢

编辑历史:[这消息被Erisaki编辑过(编辑时间2002-10-06 16:17:22)]
[这消息被Erisaki编辑过(编辑时间2002-10-06 16:19:48)]


5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#52002/10/6 21:27:06
=unfefined 是清空
加上这句&& _root.loada._getBytesLoaded>1是指开始加载后再判断其大小,因为加载文件与要时间,刚开始getBytesLoaded和getBytesTotal都等于undefined,也就是小于0(或1)所以不加这个的话会在没加载文件之前就会跳到相应的帧,因为刚开始都等于undefined。
我该的代码只是随便改的,不见的符合你的情况。明白了道理相信做起来很容易。
作了一下午flash,脑子一塌糊涂,不只讲清楚了没有。