分享
 
 
 

MovieClipLoader 介绍

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

MovieClipLoader对象的出现,使得我们Preload 图片和swf文件变的轻松惬意。我们可以把一个或更多的文件装载进一个mc或者是level,或者是为每一个load文件分配不同的对象。简单的说,比 loadMovie() 变的更为有用和强大。

监听器提供了很多的load 状态 响应,我们来看一看:

·MovieClipLoader.onLoadStart() - invoked when loading begins.

·MovieClipLoader.onLoadProgress() - invoked as the loading process progresses.

·MovieClipLoader.getProgress() - used to obtain the progress of the downloaded file(s).

·MovieClipLoader.onLoadInit() - invoked after the actions in first frame of clip have executed.

·MovieClipLoader.onLoadComplete() - invoked when the entire downloaded file has been written to disk.

·MovieClipLoader.onLoadError() - invoked if the clip cannot be loaded.

·MovieClipLoader.unloadClip() - remove movies/images loaded with this method or cancels a load operation in progress.

可以发现和MX比较,有更多的状态响应。我们从一个简单的例子来入手,了解一下它是如何实现的 。我们要做的是把一系列图片载入一个mc里。

1.新建一影片并在主时间轴第一frame上加AS:

function myTrace(msg) {

_root.traceBox.text += msg + newline;

_root.traceBox.vPosition+=3;//滚动幅度

_root.traceBox.vScrollPolicy ="on";//确定滚动条为“开”的状态

}

显然我们创建的一个trace函数,在发布的时候把一些信息显示在文本组件里。

2.然后拉进来一个文本组件,把文本框拉大,确保它能显示所有内容。并命名为 “traceBox”

3.创建一MC,在场景里拉进来3个(同一MC)。并把他们分别命名为:"myMC1", "myMC2" and "myMC3". 我们将把图片和swf载入到他们里面。大小为200象素,尽管我们要载入的图片比这大,但我们会在load的时候,重新定义图片的大小。

4.接下来要做的就是创建我们的MovieClipLoader object ,把下面的代码加到第一frame:

var myMCL = new MovieClipLoader();

5.第一帧代码继续:

myMCL.onLoadStart = function (targetMC) {

var loadProgress = myMCL.getProgress(targetMC);

myTrace ("The movieclip " + targetMC + " has started loading");

myTrace("Bytes loaded at start=" + loadProgress.bytesLoaded);

myTrace("Total bytes loaded at start=" +oadProgress.bytesTotal);

}

getProgress 属性将得到我们的目标MC(被装载对象)的载入信息:它返回两个参数——————bytesLoaded and bytesTotal。

这两个参数应该很熟悉的 MM把他们整合到了一起。得到进程-----getProgress

6.仍然是第一frame上,我们给mytrace 文本返回一些信息:

myMCL.onLoadProgress = function (targetMC,loadedBytes,totalBytes) {

myTrace ("movie clip: " + targetMC);

myTrace("Bytes loaded at progress callback=" + loadedBytes);

myTrace("Bytes total at progress callback=" + totalBytes);

}

7.继续:

myMCL.onLoadComplete = function (targetMC) {

var loadProgress = myMCL.getProgress(targetMC);

myTrace (targetMC + " has finished loading.");

myTrace("Bytes loaded at end=" + loadProgress.bytesLoaded);

myTrace("Bytes total at end=" + loadProgress.bytesTotal);

}

8.MX里的装载完毕的位置,大小等的定义总是麻烦,爱出毛病。

下面这个很GOOD。它是在完全装载进来的时候响应的:

myMCL.onLoadInit = function (targetMC) {

myTrace ("Movie clip:" + targetMC + " is now initialized");

targetMC._width = 170;

targetMC._height = 170;

}

9.纠错信息。如果我们要装载的对象无法载入呢?比方URL地址不对?

myMCL.onLoadError = function (targetMC, errorCode) {

myTrace ("ERRORCODE:" + errorCode);

myTrace (targetMC + "Failed to load its content");

}

10.好了,一切都准备完毕。开始装载我们的对象吧:

myMCL.loadClip("http://www.yourdomain.com/test1.swf","_root.myMC1");

myMCL.loadClip("http://www.yourdomain.com/test2.swf ", "_root.myMC2");

myMCL.loadClip("http://www.yourdomain.com/somepic.jpg", "_level0.myMC3");

多么的惬意。。。

最后,你可以在不需要的时候卸载对象:

myMCL.unloadClip(target);//target specified as a string or integer

下面快要结束了,看一看别的装载方式吧:

myMCL.loadClip("http://www.yourdomain.com/test1.swf","_root.myMC1");

myMCL.loadClip("http://www.yourdomain.com/test1.swf","_level0.myMC1");

myMCL.loadClip("http://www.yourdomain.com/test1.swf", 1);//loads into level 1

myMCL.loadClip("http://www.yourdomain.com/test1.swf", _level0.myMC1);

myMCL.loadClip("file:///C:/foldername/images/somepic.jpg", "_level0.myMC4")

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有