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

方法很简单,但是却相当实用,比如做一个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 中【行为面板】中提供的【影片剪辑】|【加载外

部影片剪辑】与【卸载影片剪辑命令】。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值