BytesLoaded() == _level1.getBytesTotal()&&_level1.getBytesLoaded()>0) {
_level1._x=_level1._y=50;
_level1._width = 200;
_level1._height = 300;
delete this.onEnterFrame;
}
};
然后说flash MX 2004开始有的MovieClipLoader类,在说MovieClipLoader 之前,我们得先知道侦听器。侦听器是侦听事件的对象,当我们触发某一个事件的时候,该事件就被侦听器所侦听到,然后,该事件就由侦听器的方法来处理,当然,在MovieClipLoader侦听器对象中,已经提前写入处理事件的方法。这里写一个简单的例子:
this.createEmptyMovieClip("loader_mc", 1);
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
with (target_mc) {
_x = _y=20;
_width = _height=300;
}
};
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
mcl.loadClip("1001.jpg",loader_mc);
//加载swf用mcl.loadClip("a.swf",loader_mc);
关于MovieClipLoader类的用法的学习,可以去看看awflasher的原创-完美的loading-吐血整理!aw的语言表达能力和flash水平远强于我,呵呵。我就不这里多说了,相信有了帮助和aw的教程,你很快就能掌握这个类的用法。
最后,只要你到这里的时候你明白了下面的解释我就算成功了。哈~~。加载外部文本,变量,图像或者是swf的时候,flash需要建立一个新的对象,有时候是创建一个新的来替代前面的,有的是新建一个对象,无论何种情况,都会导致程序的延迟,也就是不能马上生成这样的一个对象。代码的是从上到下顺序执行,一帧上的代码只能顺序执行一次,所以只有让它循环执行一下,才有时间判断加载的完成。简单的像这样
loader_mc.loadMovie("1001.jpg");
trace(loader_mc._width);//这时候输出的一定是加载前的loader_mc 的宽
,可以知道trace()执行的时候这样一个对象还没有创建成功,也就是还没有得到要加载的MC或者图片的属性。所以这时执行loader_mc._width=300;loader_mc._height=400;是没有意义的。同样加载变量也是同样道理。
最后,想要说的是,加载文本推荐用loadVars类,加载图像或者是swf推荐用MovieClipLoader。
众多站长实践证明SEO网赚的最简单方法是==>
透过 Google AdSense 使您的网站产生收益 上一篇:
下一篇: