FLASH调用外部文件详解_第1页
FLASH调用外部文件详解_第2页
FLASH调用外部文件详解_第3页
FLASH调用外部文件详解_第4页
FLASH调用外部文件详解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FLASH调用外部文件详解Flash加载外部文件Flash可以通过帧、按扭、影片剪辑来调用外部文件。调用的外部文件包括:外部文本文件、外部程序文件、外部*.swf文件、外部图片文件、外部音乐文件、外部脚本文件。一.调用外部文本文件:(文本文件开头要以flash中的动态文本框的变量名开头,如msg="."这样的形式,要和编辑的Flash文件放在同一目录下)1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.制作两个按扭(一个调用,一个清除)拖放到场景中。3.调用按扭上添加AS:on(release)/松开鼠标后执行下面的代码;

2、loadVariables("msg.txt",msg);/调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中; System.useCodepage=true;/使外部文件的中文字符能够正确显示;4.清除按扭上的AS:on(release)/松开鼠标后清楚动态文本框中的内容;msg=""5.Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2)在第一帧上加如下代码:stop();_root.bt1.onRelease=function() loadVariables(&qu

3、ot;msg.txt",msg); System.useCodepage=true;_root.bt2.onRelease=function() _root.msg=""Ctrl+Enter测试.调用的外部文本文件能够滚动:1.用工具箱中的文本工具,选择动态文本,给动态文本一个变量名,如:msg,在编辑区拖出一个文本框2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向"箭头"按F8转为按扭元件;复制一个"箭头"按扭,垂直镜

4、象,使这两个按扭和竖条的两端对齐.4.调用按扭上的AS:on(release)/松开鼠标后执行下面的代码;loadVariables("msg1.txt",msg);/调用msg1.txt文本文件到动态文本框msg中;System.useCodepage=true;/使外部文件的中文字符能够正确显示;清除按扭上的AS:on(release) _root.msg=""/清除动态文本框中的内容;向上的按扭上的AS:on(press)/在按扭的感应区上每按一次鼠标执行下面的代码; _root.msg.scroll=_root.msg.scroll-1;/文本向

5、下滚动一行;向下的按扭上的AS:on(press)/在按扭的感应区上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll+1;/文本向上滚动一行;Ctrl+Enter测试.当然代码也可以写在帧上:(调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down)在第一帧上加如下代码:_root.bt1.onRelease=function()/松开鼠标后执行下面的代码;loadVariables("msg1.txt",msg);/调用msg1.txt文本文件到动态文本框msg中;Syste

6、m.useCodepage=true;/使外部文件的中文字符能够正确显示;_root.bt2.onRelease=function()/松开鼠标后执行_root.msg=""/清除动态文本框中的内容;_root.up.onPress=function()/在向上按扭上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll-1;/文本向下滚动一行;_root.down.onPress=function()/在向下按扭上每按一次鼠标执行下面的代码;_root.msg.scroll=_root.msg.scroll+1;/文本向上滚动一行;

7、Ctrl+Enter测试.二.调用外部*.swf文件(加载到影片剪辑中):外部*.swf文件要和编辑的Flash文件放在同一目录下1.新建立一个空的影片剪辑mymc,把它放在场景中,实例名是:mymc.2.新建一层,制作两个按扭(一个调用,一个清除)拖放到此层中3.调用按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码;loadMovie("flash8.swf","mymc");/加载外部的"flash8.swf"文件到"mymc"空影片剪辑中;mymc._x=70;/加载影片的X轴坐标;mymc

8、._y=20;/加载影片的Y轴坐标;mymc._xscale=70;/加载影片的宽度;mymc._yscale=70;/加载影片的高度;清除按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码unloadMovie(mymc);/删除用loadMovie加载的*.swf文件;Ctrl+Enter测试三.调用外部*.swf文件(加载到时间轴上):外部*.swf文件要和编辑的Flash文件放在同一目录下1.制作两个按扭(一个调用,一个清除)拖放到场景中2.调用按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码 loadMovie("flash8.swf&qu

9、ot;,1);/加载外部的"flash8.swf"文件到场景中,层深为1;清除按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码 unloadMovie(1);/删除层深为1的用loadMovie所加载的"flash8.swf"文件Ctrl+Enter测试。当然二和三的代码都可以写在帧上。四.调用外部图片(加载到影片剪辑中)外部图片必须和正在编辑的Flash文件放在同一目录下1.制作两个按扭(一个调用,一个清除)拖放到场景中2.制作一个空的影片剪辑,拖到场景中,实例名是:mymc;3.时间轴上第一帧上的AS:i=0;/定义一个变量i,并且

10、赋初值为0;调用按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码; i+; if(i>9)/因为外面这有9张图,当变量大于9的时候,让变量为1,这样能够使加载的图片是连续的,即,每点一次按扭,就换一张图,等到换到第9张图,再点按扭,则循环到第一张图(j1.jpg到j9.jpg,因为没有j0.jpg,如果i=0,则会提示没有找到j0.jpg); i=1;loadMovie("j"+i)+".jgp",mymc);/从j1.jpg开始加载图片到影片剪辑mymc中;mymc._x=110;/以下设置加载图片的属性mymc._y=35;m

11、ymc._xscale=130;mymc._yscale=130;清除按扭上的AS:on(release)unloadMovie(mymc);/删除掉用loadMovie加载到影片剪辑的图片;Ctrl+Enter测试。当然AS可以写在帧上。五.调用外部声音文件(加载到场景中)外部声音文件必须和正在编辑的Flash文件放在同一目录下1.制作两个按扭(一个调用,一个清除)拖放到场景中2.调用按扭上的AS:on(release)/鼠标离开按扭后执行下面的代码;mySound=new Sound();/建立一个新的声音对象mySound;mySound.loadSound("zaihuni.

12、mp3",true);/加载外部的*.mp3声音文件到mySound对象中,并且按流的方式播放(参数为false时,是以装载完后播放);清除按扭上的AS:on(release) mySound.stop();/当按下清除按扭后,停止声音的播放Ctrl+Enter测试。加载外部图片如果你的动画中有很多的图片.如果都放到一个SWF文件.可能打开或是下载会很慢.这样就影响了观看效果及速度,那么你可以利用载入外部图片的方法,只要把图片按名称放到你网上的一个目录里(和你的SWF文件同一个目录),那么就可以解决这个问题前十祯你做一个载入LOADING.从第十一祯开始新建一个图层.起名为AS层在A

13、S图层的第十一祯加入一个关键祯,然后打开动作面板,加入以下ASi = 0;/初始化变量loadMovie ("p040.jpg", "pic");/在播放原始 SWF 文件的同时将p040.jpg 文件/加载到 Flash Player 中的叫PIC的这个影片剪辑中。上面的语句是实现了加载一张.我们要它加载多张.所以要用到IF语句.在AS层的第六十祯处加入一个关键祯,打开动作面板,加入AS语句:i+;/变量i递增 if (i >= 21) /当变量i递增到>=21时.这里的21是因为我准备了二十一张要加载的图.如果你加载十张.那就把这里的21

14、改为10就可以了 i = 0;/则变量为0,即重新加载 loadMovie ("p04" + i) + ".jpg", "pic");/如果不是.则继续加载.这里的p04+i就等p04i.也就是说i是几.这里就是p04*,比如i为12,则p04+i就等于p0412 gotoAndPlay (12);/跳转到第十二祯所以.在这里给图片起文件名时.就要按照这个原则来起的.准备好的图片要和你的主调用SWF文件入在同一个目录下,或者你也可以加载时用绝对路径,那就要改成"http:/www.XXXXX.cn/p04"'

15、; target="_blank" >http:/www.XXXXX.cn/p04"+i+".jpg"图片的大小最好是事先调整好的.在你做好的PIC这个加载用的MC里.它的位置是放在XY坐标为0的位置,加载进来图是以这个MC左上角为准的,也就是说加载进来图的左上角与加载用的MC的左上角是重合的-loadMovie("图片名",newname);以上语法以下用法on(release) loadMovie("pic.jpg", "mc");mc._x=50;mc._y=50mc._x

16、scale=40;mc._yscale=40-加载外部文本文件的3种方法不管那样方法,文本文件要和主文件在同一目录下,再就是在这儿的文本文件名为 b.txt*第一种方法txt=1、创建一个文本框,给此文本框一个变量名txt;2、文本格式为:动态;3、选:多行输入4、在第一帧上增加脚本语言。(按F9)loadVariablesNum("b.txt",0);/b.txt是文件名,0是场景中的根目录然后打开poems.txt文件,在记事本里输入:txt=注意:在加载之前对文本文件进行转换,另存为Unicode编码格式。*第二种方法 在主文件帧上输入防乱码的AS按钮实现引用外部文本

17、文件的效果:第一步:主场第一帧AS:System.useCodePage = true;/防止乱码第二步:在按钮上写AS:on (release) _root.loadVariables("b.txt");/b.txt文本名*第三种方法 使用构造器,将文本拆分为若干字符串来显示.从根本上防止乱码.也就是说直接在 txt 里面写东西就行了。代码如下:lala = new LoadVars();/构造函数;创建 LoadVars 对象。然后可使用该 LoadVars 对象的方法来发送和加载数据lala.onData = function(rw) /当lala被实例化并显示在时间

18、轴上时将触发a_txt.text = replacePunc(rw);/;function replacePunc(str) /执行将文本拆分为多个字符串var tempArray = str.split("rn");/拆分为多个子字符串var tempstr = new String();for (var i = 0; i<tempArray.length; i+) tempstr += tempArray+newline;return tempstr;System.useCodepage = true;/通知 Flash Player使用 传统代码页来解释外部文本

19、lala.load("b.txt");调用外部的actionscript脚本如果在你的动画中有需要重复使用的语句,最节省时间的办法是只写一遍然后用include语句调用。你可以用任何文本编辑器编写好代码然后将其保存为扩展名为 .as的文件。例如你的代码放在一个叫myscript.as的文件中。你可以用下面的语句调用myscript.as文件中的代码:on(release) #include "myscript.as"调用外部swf用主文件如index.swf调用同一目录下swf文件如mpg.swf最简单的方法是用一段代码:loadMoive("

20、mpg.swf","mpg");/mpg.swf在同一目录下,mpg为一个空mc,用以传递action这样我们可以将mpgavi视频先导入flash做成一个独立的swf如mpg.swf,再用以上代码调用02可是按以上方法不易控制mpg.swf在主文件index.swf中的播放位置,于是,我们最好用到坐标。on (press)loadMovie("mpg.swf","_root.mymc"); /mymc为命名的mc,传递asonEnterFrame = function () _root.mymc._x = 0; /mpg.

21、swf的横坐标_root.mymc._y = 0; /mpg.swf的纵坐标_root.mymc.width =400; /mpg.swf的宽度_root.mymc.height =300; /mpg.swf的高度还有一种方法可以控制外部swf:通过一个空mc控制swf的大小及位置setproperty ("mcname",_xscale,xx);/mcname为空mc的实例名,_xscale水平方向缩放比例,xx调整数值setproperty("mcname",_yscale,yy);/_yscale垂直方向缩放比例,yy调整数值setproperty

22、 ("mcname",_x,xxx);/mcname为空mc的实例名,_x横坐标,xxx调整数值setproperty("mcname",_y,yyy);/mcname为空mc的实例名,_y横坐标,yyy调整数值swf控制外部mp3from:/user/history/forum_view.asp?forum_id=9&view_id=581、只需建两层,两层都只需做两桢。第一层action,第二层放按钮命名为button。 action层两桢均添加代码stop(); button层第1桢放播放按钮,第2桢放停

23、止按钮。2、关键在于给两个按钮添加as:第1桢的播放按钮as如下:on (release) _root.sou=new Sound();_root.sou.loadSound("love.mp3",0);/love.mp3为同一目录下的mp3文件完整名称_root.sou.start();/开始播放声音gotoAndStop(2);/跳转到第2桢第2桢的停止按钮添加as如下:on (release) _root.sou.stop();/停止声音gotoAndStop(1);/跳转到第1桢需将欲播放的mp3放置于swf同一目录下。提示:MP3独立被调用就不必导入flash,这

24、样不增加flash文件大小。也可以把有的mc也做成独立的swf,搁于同一目录下,用loadMvie("xxx.swf","xxx");来调用。这样便于修改,而且可以增加n个swf,分别被主文件调用,却不增加主文件大小,播放十分流畅,图片也不必处理那么小,保持清晰度。调用外部as的action代码语句讲解:#include用法#include "filename.as"参数filename.as 要添加到“动作”面板的脚本的文件名;.as 是推荐使用的文件扩展名。说明动作;包括当测试、发布或导出影片时参数中指定的文件的内容。当您进行测试、发布或导出时,#include 动作将被调用。当执行语法检查时,将检查 #include 动作。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论