加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

教你如何在FLASH中载入外部SWF文件

发布时间:2020-12-15 18:19:58 所属栏目:百科 来源:网络整理
导读:方法很简单,但是却相当实用,比如做一个flash全站,需要按功能将网站分解成多个flash,然后利用本例中的原理,通过一个首页flash调用其他各个页面的flash文件即可实现。本例为基础示例,可以根据需要进行扩展,关键是要学会变通,将其变为自己的东西。 实现方法
方法很简单,但是却相当实用,比如做一个flash全站,需要按功能将网站分解成多个flash,然后利用本例中的原理,通过一个首页flash调用其他各个页面的flash文件即可实现。本例为基础示例,可以根据需要进行扩展,关键是要学会变通,将其变为自己的东西。 实现方法: 1、新建一个flash文档,要求大小最好和你要载入的那个flash相同; 2、在场景中放一个动态文本框,设置变量名为 opentxt(也可以取其他名字,但下面的代码中也得相应的修改); 3、选中第一帧,打开动作面板,加入如下代码: var fdTemp = createEmptyMovieClip("fdtemp",1); var L = createEmptyMovieClip("loadswf",2); L.loadMovie("外部影片.swf"); fdTemp.onEnterFrame = function() { var a = this._parent["loadswf"].getBytesLoaded(); var b = this._parent["loadswf"].getBytesTotal(); opentxt = int(a*10000/b)+"%"; if (a>=b and a>10) { opentxt.removeTextField(); } }; 把其中的 外部影片.swf 改成你的那个 flash的名称即可! 这个loading只有显示百分比,其他的与一般的loading动画做法一样! stop(); var bl = 0; var bt = 0; this.createEmptyMovieClip("mcLoader",1); //--------------- 定位 --------------- mcLoader._x = 50; mcLoader._y = 50; //--------------- 装载 ---------------- mcLoader.loadMovie("影片.swf"); //------------ 计算进程 ------------- this.onEnterFrame = function() { bl = mcLoader.getBytesLoaded(); bt = mcLoader.getBytesTotal(); txt1.text = int(bl/bt*100)+"%"; loadbar._width = 200*bl/bt; //... if (bl>=bt && bl) { delete this.onEnterFrame; // 停止计算 } }; 多个swf的loading 假如你有3个“swf”文件,其中一个是主场景文件,名为“main_page.swf”,其他两个我们分别取名为“a.swf”&“b.swf”... 首先来制作“main_page.swf”这个文件... 在它的主场景有两个关键帧,在第一帧&第二帧分别加上“stop()”语句, 然后在第一帧上拖入一个你制作的“Loading”影片剪辑,命名为“my_load_bar”(这个影片剪辑共有100帧,在第一帧上加上stop()语句,在第100帧加上gotoAndStop(1)语句, 然后你再做你想要的loading动画... 我想这个我不用再说了吧... 并且在库中连接它... 连接名为“my_load_bar”)。 回到主场景在第一帧上加上如下语句: //这是用于主场景的loading语句...(加在第一帧) _root.onEnterFrame = function () {if(_root.getBytesLoaded() < _root.getBytesTotal()) {Loaded = _root.getBytesLoaded()/1000Total = _root.getBytesTotal()/1000goto =(Loaded/Total)*100_root.my_load_bar.gotoAndStop(int(goto)) } else {_root.gotoAndStop(2)_root.onEnterFrame = null} } stop() 假如你要在主场景载入后转道第二帧的时候同时载入“a.swf”&“b.swf”两个文件,并且显示相应的进度 , 建立两个空的影片剪辑,分别命名为“a”,“b”,拖到主场景,后在主场景第二帧上加入如下语句: //调用库中的“my_load_bar”影片剪辑... _root.attachMovie("my_load_bar","a_load_bar",100) _root.attachMovie("my_load_bar","b_load_bar",100) _root.a_load_bar._x=你想要的位置 _root.a_load_bar._y=你想要的位置 _root.b_load_bar._x=你想要的位置 _root.b_load_bar._y=你想要的位置 _root.a.loadMovie("a.swf") _root.b.loadMovie("b.swf") 然后在“a.swf”文件第一帧写入:(此文件共两帧) this.onEnterFrame = function () {if(this.getBytesLoaded() < this.getBytesTotal()) {Loaded = this.getBytesLoaded()/1000Total = this.getBytesTotal()/1000goto = (Loaded/Total)*100_root.a_load_bar.gotoAndStop(int(goto))} else{ gotoAndStop(2)this.onEnterFrame = null} } stop() 然后在“b.swf”文件第一帧写入: (此文件共两帧) this.onEnterFrame = function () {if(this.getBytesLoaded() < this.getBytesTotal()){Loaded = this.getBytesLoaded()/1000Total = this.getBytesTotal()/1000goto = (Loaded/Total)*100_root.b_load_bar.gotoAndStop(int(goto))} else {gotoAndStop(2)this.onEnterFrame = null}} stop() 这两个文件第一帧都是代码帧,没有任何影片..., 大概就是这样,自己再琢磨琢磨,方法不是一种,要学着变成自己的东西... loadMovie("xx.swf",mymc); mymc._x = 0; mymc._y = 0; mymc._xscale = 100; 这个是宽 mymc._yscale = 100; 这个是长,不过这里的100是一倍的意思,不要理解错了 加载外部swf影片并控制它的大小和位置 |;B7Q0 要在课件中实现画中画的效果,可以利用“loadMovie”语句来载入外部的 swf 文件。闪吧新社区 为了控制外来动画的大小与位置,我们需要先制作一个空 MC。现在我们假定要载入的 swf b9[ a)n e6l A0文件是“bb.swf” 。 闪吧新社区 新建一个 Flash 文档,插入一个影片剪辑元件,命名为“MC” ,无内容放空。将 MC 放 于你希望 bb.swf加载进来播放的位置,比如x=300 y=200 命名其实例名为“load” 。 建一按钮,加上语句: on(release) { 闪吧新社区H#[)| G7Y ^ [ ? k _root.load.loadMovie("bb.swf"); 闪吧新社区I ^0u w)x setProperty(_root.load,_xscale,60); setProperty(_root.load,_yscale,60); } 第二句的意思是当释放按钮后,就载入“bb.swf”给名为“load”的 MC 实例。第四句是 闪吧新社区把 这个 MC 缩小了 60%,_xscale是指原 MC 的宽,60 是百分比。在这里,你可以随意的改 变缩入比例了 。 闪吧新社区&N8F z x O V'n*V%o 要想实现卸载,可以重新建立一个按钮元件,输入如下语句: on(release) { root.load.unloadMovie("bb.swf") } 闪吧新社区 如果只是简单的加载,我们也可以使用 Flash MX 2004 中【行为面板】中提供的【影片剪辑】|【加载外 部影片剪辑】与【卸载影片剪辑命令】。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读