静态博客入口:http://blog.5d.cn/user40/hejng/
2007/08/16 | 如何加载外部SWF文件
类别(学闪) | 评论(0) | 阅读(181) | 发表于 20:52
做FLASH站的时候考虑到只做一个FLASH文件,太大,所以经常将一个文件分解开,做成站点的时候通过按钮点击等方面载入单个栏目的SWF文件,而浏览者浏览网页的时候可逐个下载,大大减少了主动画的负担。
那么如何加载外部的SWF文件呢?这里就需要用到两个ACTION关键词:loadmovie或loadmovienum(它们之间的差别,下面会讲到)

先让我们来看一句写在时间轴上的代码:

loadMovieNum("about.swf",2);
//加载about.swf到主动画的第二个级别(级别是相对于不同swf文件而言的,其作用我们可以理解为层,比如FLASH里的层,上一层的东西将覆盖下一层的东西,而级别则是上一级别的场景覆盖下一级别的场景)(用loadMovieNum语句来加载动画,会受到浏览器的安全限制,所以只能加载本地或同一服务器上的SWF文件。)
运用这一句代码我们就可以做一个简单的SWF文件的加载。

新建FLASH文档,画一个圆,红色,在第20帧插入关键帧,向右移动,导出命名为about.swf,再新建一文档,画一矩形,场景大小,黑色,在第一帧写入ACTON:

loadMovieNum("about.swf",2);

和about.swf同一文件夹导出命名为index.swf,开始测试,可以发现about.swf里的动画覆盖在index.swf上,但about.swf的背景并没有被加载进去。
现在也许有人要问,那我怎么控制加载进来的动画呢?比如停止、播放、关闭。。。一样用上面about.swf为例,要达到控制的效果我们可以有两个方法:

一、在about.swf里控制;
做两个按钮,一个播放一个停止,在播放按钮上写ACTION:

on(release){
this.play();
}

在停止按钮上写:
on(release){
this.stop();}

这样测试一下,在index.swf里就可以播放和停止动画了

二、在index.swf里控制

同样是做播放和停止的两个按钮
在播放按钮加ACTION:
on(release){_level2.play();}
//_level(数值)是级别的意思,_level2就是第二级别

在停止按钮加ACTION:
on(release){_level2.stop();}

测试一下,同样可以达到效果。
值得一题的是我们可以再加一个功能,把about.swf关闭或卸载掉,因为它是加载进来的,有办法让它进来就有办法让它回去,所以我们现在加个关闭的按钮,然后写上ACTION:
on(release){unloadMovieNum(2);}
//卸载影片中加载进第2级别的动画

到这里我们就掌握了简单的加载并控制外部swf文件的方法,现在我们要介绍另一种方法,即加载外部文件到主动画里的MC。仍然以最初的about.swf和index.swf文件为例

在index.swf里新建播放、停止、关闭三个按钮,新建一MC,命名为“load”,回到主场景,从库中将MC拖入场景,放在x=100y=100的位置上,命名实例名为:mc1

新建一层,在时间轴第1帧写上ACTION:

mc1.loadMovie("about.swf");
//加载about.swf到主场景的load这个MC里
<
日志分类
首页[3]
瞎想[0]
发梦[0]
学闪[1]
设计[0]
乱照[1]
胡图[1]