2022年FlashAS入门教程影片剪辑加载swf文件 .pdf

上传人:C****o 文档编号:39894831 上传时间:2022-09-08 格式:PDF 页数:7 大小:59.28KB
返回 下载 相关 举报
2022年FlashAS入门教程影片剪辑加载swf文件 .pdf_第1页
第1页 / 共7页
2022年FlashAS入门教程影片剪辑加载swf文件 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年FlashAS入门教程影片剪辑加载swf文件 .pdf》由会员分享,可在线阅读,更多相关《2022年FlashAS入门教程影片剪辑加载swf文件 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二节加载和卸载swf 文件上一节中,我们已经能创建MC,本节我们将介绍加载外部swf 文件的方法。loadMovie 函数及 MC 的 loadMovie()方法:使用loadMovie()函数可以在播放原始SWF 文件时,将 SWF、JPEG、GIF 或 PNG 文件加载到Flash Player 中的影片剪辑中。加载的图像或SWF 文件的左上角与目标影片剪辑的注册点对齐。格式:loadMovie(“要加载的swf 文件或图片“,目标影片剪辑);要加载的swf 文件或图片可以来源于网络,书写格式为:http:/.可以来源于本地硬盘上的文件系统,书写格式为:file:/.如果要加载的swf

2、文件或图片与fla 文件在同一目录下,则直接写文件名。目标影片剪辑可以是任何影片剪辑,也可以是主场景,加载后,目标影片剪辑将被替换成加载的文件。例 1:加载一个网络上的swf 文件 sub.swf 到创建的MC 中:this.createEmptyMovieClip(logo_mc,1);loadMovie(http:/ 2:加载一个本地的swf 文件 sub.swf 到主舞台:loadMovie(file:/d:/myflash/sub.swf,this);例 3:加载一个相同目录下的图片picture.jpg 到创建的MC 中:this.createEmptyMovieClip(pictu

3、re_mc,1);loadMovie(picture.jpg,picture_mc);以上是loadMovie 函数的写法,而MC 的 loadMovie()方法也一样,只写法不同,如:this.createEmptyMovieClip(picture_mc,1);picture_mc.loadMovie(picture.jpg);loadMovieNum 函数在播放原始SWF 文件时,将 SWF、JPEG、GIF 或 PNG 文件加载到一个级别中。用法跟loadMovie 一样,只是它不是指明目标影片剪辑,而加载到一个深度上。比如要加载相同目录下的 swf 文件 myflash.swf 到深

4、度为 2 的级别中:loadMovieNum(“myflash.swf”,2);要注意的是,上一节我们介绍了,当深度相同时,新加载的对象会覆盖原来的对象。我们也以用下面一句来加载外部swf 文件:loadMovieNum(“myflash.swf”,this.getNextHighestDepth();MovieClipLoader类名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -此类用于实现在SWF、JPEG、GIF 和 PNG 文件正被加载到影片剪辑中时提供状态信息的侦听器回调。也就是说用这类加载swf 文件,可以在加载过程中进行控制,如观察加载进度等。要使用Mov

5、ieClipLoader类就应首先用构造函数创建一个MovieClipLoader类的实例才能操作其方法,事件,实现加载功能。如:var mcLoader:MovieClipLoader=new MovieClipLoader();loadClip 方法:该方法的作用和用法与loadMovie()是一样的。如:this.createEmptyMovieClip(picture_mc,1);var mcLoader:MovieClipLoader=new MovieClipLoader();mcLoader.loadClip(picture.jpg,picture_mc);上面说到,用本类加载外

6、部swf 文件或图片可以在加载过程中加以操作,主要是通过几个事件的调用来实现:onLoadStart 事件:在下载的文件的第一个字节写入硬盘后,调用。格式:onLoadStart=function(target_mc:MovieClip)其中的 target_mc 为要加载外部影片的目标MC。onLoadComplete 事件:当加载的文件完全下载时调用。格式:onLoadComplete=function(target_mc:MovieClip)onLoadInit 事件:当执行加载的剪辑的第一帧上的动作时调用。在调用此侦听器后,您可以设置属性、使用方法,还可以与加载的影片交互。格式:onL

7、oadInit=function(target_mc:MovieClip)了解MovieClipLoader.onLoadComplete和 MovieClipLoader.onLoadInit之间的差异非常重要。onLoadComplete 事件在加载SWF、JPEG、GIF 或 PNG 文件之后但在应用程序初始化之前被调用。此时,无法访问已加载的影片剪辑的方法和属性,因此您无法调用函数、移动到特定帧,等等。在多数情况下,最好改为使用onLoadInit 事件,它在内容已加载并完全初始化后被调用。onLoadPRogress 事件:在加载过程中(即在MovieClipLoader.onLoa

8、dStart 和 MovieClipLoader.onLoadComplete 之间时),每当正加载的内容写入硬盘时调用。格式:onLoadProgress=function(target_mc:MovieClip,loadedBytes:Number,totalBytes:Number)loadedBytes 为已经加载的字节数。totalBytes 为要加载的swf 的总的字节数。如果在测试模式中,您试图对驻留在硬盘上的本地文件使用onLoadProgress,则它将不能正常工作,这是因为在测试模式中,Flash Player 会将本地文件作为一个整体加载。onLoadError 事件:加

9、载的文件未能加载时调用。出于各种原因,会调用此侦听器;例如服务器关闭、找不到文件或发生安全侵犯。上述事件的调用方法我给你整成一个公式的模式,直接套用就行了。MovieClipLoader类事件调用公式:/首先创建一个MovieClipLoader对象var mcLoader:MovieClipLoader=new MovieClipLoader();/mcLoader为自已取的名称/然后创建一个侦听对象var listener:Object=new Object();/listener为自已取的名称名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -/调用下列事件之一或多个

10、listener.onLoadStart=function(target_mc:MovieClip)listener.onLoadComplete=function(target_mc:MovieClip)listener.onLoadInit=function(target_mc:MovieClip)listener.onLoadProgress=function(target_mc:MovieClip,loadedBytes:Number,totalBytes:Number)/MovieClipLoader对象调用侦听对象mcLoader.addListener(listener);/Mo

11、vieClipLoader对象加载外部swf 或图片mcLoader.loadClip(“外部文件地址”,目标影片剪辑);下面介绍MovieClipLoader类的几个方法loadClip 方法:在播放原始影片时,将 SWF、JPEG、渐进式JPEG、非动画GIF 或 PNG 文件加载到Flash Player 中的影片剪辑中。addListener(侦听对象)方法:注册一个对象,以便在调用MovieClipLoader 事件处理函数时接收通知。getProgress(target:Object)方法:返回正在通过使用MovieClipLoader.loadClip()加载的 文件 的已加 载

12、字 节数 和总字 节数;返 回一个 具有 以下 两个整 数属 性的 对象:bytesLoaded 和 bytesTotal。removeListener(侦听对象)方法:删除在调用MovieClipLoader 事件处理函数时用来接收通知的侦听器。unloadClip(target:Object)方法:删除通过使用MovieClipLoader.loadClip()加载的影片剪辑。下面通过一个练习来加深理解本节课所介绍的内容,主要运用 MovieClipLoader类来加载外部文件加载过程中,用进度条来显示加载进度。本节的练习请保存原文件,待下一节控制时间轴后,将在本练习的基础上,完成一个播放

13、器。一、新建 flash 文档,然后在第一层画一个播放器的外形,这个我不作介绍,我画的如下图,你完全可以画得更好看一些。这里要说一说中间的播放屏幕(黑的那块)的大小问题。Flash文档默认的大小是550 x400,那么这个播放屏幕也应按这个比例来画,它的大小是文档大小的 80%,因此,宽为:550 x0.8=440,高为400 x0.8=320.将这个播入屏幕水平居中,尽量往上放,将下面多留一些地盘,以后有用。然后用变形工具点中它,将注册点移到左上角,打开属性面板,记录下它的x,y 坐标备用。图层上锁。二、新插入一图层,按下图位置放一个静态文本,内容为:“文件地址:”;再放一个输入文本,在属性

14、面板实例名称为:url_txt.新建一按钮元件,标签为:“打开”,属性面板实例名称为:load_btn.将按钮放输入文本右边。三、新建一MC,取名loading,用矩形工具,禁止笔触,绿色填充,画一个300 x5 的矩形。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -然后转换成MC。双击它进新的MC 编辑窗口,将矩形条垂直居中,左对齐。打开属性面板,为实例名称取名为:“loadt_mc”.回到 loading 元件编辑窗口,将矩形元件垂直居中,左对齐。在矩形元件的上面放一静态文本,内容为:“正在加载文件,请稍候,”.在库中右击loading元件,点连接,在“为Acti

15、onScript 导出“前打钩。在标识标中输入:loading,实际上那里本来就有了,不用输哈,确定。四、好了,接下来写代码。新建一层,取名为“action”.打开帧到作面板,输入如下语句:load_btn.onRelease=function()attachMovie(loading,loading_mc,getNextHighestDepth();loading_mc._x=80;loading_mc._y=215;loading_mc.loadt_mc._xscale=0;var swfurl=url_txt.text;var type=swfurl.substr(-3,3);creat

16、eEmptyMovieClip(swf_mc,1);var mcLoader:MovieClipLoader=new MovieClipLoader();var listener:Object=new Object();listener.onLoadProgress=function(target:MovieClip,bytesLoaded:Number,bytesTotal:Number):V oid loading_mc.loadt_mc._xscale=Math.floor(bytesLoaded/bytesTotal)*100);listener.onLoadInit=function

17、(swf_mc)loading_mc.removeMovieClip();swf_mc._x=60;swf_mc._y=8;if(type=swf)swf_mc._xscale=swf_mc._yscale=80;else while(swf_mc._width440)|(swf_mc._height320)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 7 页 -swf_mc._xscale-=1;swf_mc._yscale-=1;mcLoader.addListener(listener);mcLoader.loadClip(swfurl,swf_mc);测试影片,在文本框

18、中输入外部swf 或图片的地址,点击打开,外部文件将加载到播放窗口中,播放。注意:如果外部文件在网络上,那么就必须用http:/.格式,如果在本地硬盘上,则应输入完整路径,如果与本swf 文件在同一个目录中,则只须输入文件名即可。下面我们来分析下代码代码分析:代码全部放在按钮的点击事件中:load_btn.onRelease=function()首先将进度条从库中加载到舞台上,并设置它的位置,使它处于播入屏幕中间,因为现在还没有开始下载,所以设置进度条的长度为0.attachMovie(loading,loading_mc,getNextHighestDepth();loading_mc._x

19、=80;loading_mc._y=215;loading_mc.loadt_mc._xscale=0;接下来,声明一个变量swfurl 来存放用户在地址文本中输入的外部文件地址。用type 来存放地址的最后三个字符,用以判断加载的是swf 还是图片。var swfurl=url_txt.text;var type=swfurl.substr(-3,3);创建一个空的MC 用来加载外部文件createEmptyMovieClip(swf_mc,1);创 建 一 个MovieClipLoader对 象 用 于 加 载 外 部 文 件,创 建 一 个 侦 听 对 象 用 于 调 用MovieCli

20、pLoader的事件。var mcLoader:MovieClipLoader=new MovieClipLoader();var listener:Object=new Object();调用 onLoadProgress 事件,即在下载过程中,读取已下载的字节数和总的字节数,并用它们的比值,设置进度条的长度。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -listener.onLoadProgress=function(target:MovieClip,bytesLoaded:Number,bytesTotal:Number):V oid loading_mc.lo

21、adt_mc._xscale=Math.floor(bytesLoaded/bytesTotal)*100);调用 onLoadInit 在加载完成后,删除进度条。并设置加载的文件的位置和大小,使之适应播入屏幕的大小。上面我们记录的播放屏幕的左上角坐标现在有用了,将加载的文件的坐标设为记录的值。文件的大小,首先判定加载的是swf 文件还是图片。为什么在判断呢?这是因为加载 swf 文件后,目标 MC 的_width 和_hight 就失灵了,因而就只能用 _xscaleswf_,_yscale 来控制,很显然这不科学的,因为加载的swf 大小不可能都一样,按比例缩放无法达到精确的尽寸。所以我们

22、只能把要加载的swf 文件看成550 x400 的大小来缩小到80%。而图片则可用宽高属性来设置,所以分开来,整精确一个算一个。按上面存的用户输入的地址的最后三个字符,如果是swf 那么就是加载swf 文件了,就用_xscaleswf_,_yscale 来控制。如果不是则是加载图片那么就可用宽高属性来判断加载的图片是否大于播放屏幕,如果大了,则调整_xscaleswf_,_yscale 属性,使之减小。为什么还是调整_xscaleswf_,_yscale 呢?这是为了,使保持宽高比例,以免变形。listener.onLoadInit=function(swf_mc)loading_mc.rem

23、oveMovieClip();swf_mc._x=60;swf_mc._y=8;if(type=swf)swf_mc._xscale=swf_mc._yscale=80;else while(swf_mc._width440)|(swf_mc._height320)swf_mc._xscale-=1;swf_mc._yscale-=1;最后 MovieClipLoader 对象侦听侦听对象,加载影片。mcLoader.addListener(listener);mcLoader.loadClip(swfurl,swf_mc);名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -资料引用:http:/ 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁