首页 »Flash教程 » flash加载外部网页:Flash加载外部文件的各种思路方法和窍门技巧 »正文
flash加载外部网页:Flash加载外部文件的各种思路方法和窍门技巧
来源: 发布时间:星期五, 2009年1月23日 浏览:92次 评论:0
现在我们将Flash加载外部文件 ![](/icons/47778de.gif) 各种思路方法和窍门技巧整理总结如下 ![](/icons/47778yi.gif) 、用loadVariables ![](/icons/47778diaoyong.gif) 外部文本文件 文本文件开头要以flash中 ![](/icons/47778de.gif) 动态文本框 ![](/icons/47778de.gif) 变量名开头 ![](/icons/47778dou.gif) 如msg="………."这样 ![](/icons/47778de.gif) 形式 ![](/icons/47778dou.gif) 要和编辑 ![](/icons/47778de.gif) Flash文件放在同 ![](/icons/47778yi.gif) 目录下 ![](/icons/47778dou2.gif) 具体 ![](/icons/47778diaoyong.gif) 方式如下: 1.用工具箱中 ![](/icons/47778de.gif) 文本工具 ![](/icons/47778dou.gif) 选择动态文本 ![](/icons/47778dou.gif) 给动态文本 ![](/icons/47778yi.gif) 个变量名 ![](/icons/47778dou.gif) 如:msg,在编辑区拖出 ![](/icons/47778yi.gif) 个文本框 2.制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到场景中 ![](/icons/47778dou2.gif) 3.在 ![](/icons/47778diaoyong.gif) 按扭上添加AS代码: on(release){//松开鼠标后执行下面 代码; loadVariables("msg.txt",msg);// 和你编辑 Flash处于同 目录下 msg.txt文本文件到动态文本msg中; .useCodepage=true;//使外部文件 中文 能够正确显示; } 4.清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){//松开鼠标后清楚动态文本框中 内容; msg=""; } Ctrl+Enter测试. 当然代码也可以写在帧上:( ![](/icons/47778diaoyong.gif) 按扭 ![](/icons/47778de.gif) 例子名是bt1,清除按扭 ![](/icons/47778de.gif) 例子名是bt2) 第 ![](/icons/47778yi.gif) 帧上加如下代码: stop ; _root.bt1.onRelease=function { loadVariables("msg.txt",msg);
.useCodepage=true; } _root.bt2.onRelease=function { _root.msg=""; } Ctrl+Enter测试. 进阶:让 ![](/icons/47778diaoyong.gif) ![](/icons/47778de.gif) 外部文本文件能够滚动 1.用工具箱中 ![](/icons/47778de.gif) 文本工具 ![](/icons/47778dou.gif) 选择动态文本 ![](/icons/47778dou.gif) 给动态文本 ![](/icons/47778yi.gif) 个变量名 ![](/icons/47778dou.gif) 如:msg,在编辑区拖出 ![](/icons/47778yi.gif) 个文本框 2.新建 ![](/icons/47778yi.gif) 层,制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到此层中 3.新建 ![](/icons/47778yi.gif) 层,在动态文本框 ![](/icons/47778de.gif) 右侧用矩形工具画 ![](/icons/47778yi.gif) 个竖条,高度和动态文本 ![](/icons/47778yi.gif) 样;再制作 ![](/icons/47778yi.gif) 个向上 ![](/icons/47778de.gif) 方向"箭头"按F8转为按扭元件;复制 ![](/icons/47778yi.gif) 个"箭头"按扭,垂直镜象,使这两个按扭和竖条 ![](/icons/47778de.gif) 两端对齐.
4. ![](/icons/47778diaoyong.gif) 按扭上 ![](/icons/47778de.gif) AS代码: on(release){//松开鼠标后执行下面 代码; loadVariables("msg1.txt",msg);// msg1.txt文本文件到动态文本框msg中; .useCodepage=true;//使外部文件 中文 能够正确显示; } 清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){ _root.msg="";//清除动态文本框中 内容; } 向上按扭上 ![](/icons/47778de.gif) AS代码: on(press){//在按扭 感应区上每按 次鼠标执行下面 代码; _root.msg.scroll=_root.msg.scroll-1;//文本向下滚动 行; } 向下按扭上 ![](/icons/47778de.gif) AS代码: on(press){//在按扭 感应区上每按 次鼠标执行下面 代码; _root.msg.scroll=_root.msg.scroll+1;//文本向上滚动 行; } Ctrl+Enter测试. 当然代码也可以写在帧上:( ![](/icons/47778diaoyong.gif) 按扭 ![](/icons/47778de.gif) 例子名是bt1,清除按扭 ![](/icons/47778de.gif) 例子名是bt2,向上按扭 ![](/icons/47778de.gif) 例子名是:up,向下按扭上 ![](/icons/47778de.gif) 例子名是down) 在第 ![](/icons/47778yi.gif) 帧上加如下代码: _root.bt1.onRelease=function {//松开鼠标后执行下面 代码; loadVariables("msg1.txt",msg);// msg1.txt文本文件到动态文本框msg中; .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;//文本向上滚动 行; } Ctrl+Enter测试 ![](/icons/47778dou2.gif)
2、用loadMovie ![](/icons/47778diaoyong.gif) 外部*.swf文件 ( ![](/icons/47778yi.gif) ) ![](/icons/47778diaoyong.gif) 外部*.swf文件加载到影片剪辑中 外部*.swf文件要和编辑 ![](/icons/47778de.gif) Flash文件放在同 ![](/icons/47778yi.gif) 目录下 1.新建立 ![](/icons/47778yi.gif) 个空 ![](/icons/47778de.gif) 影片剪辑mymc,把它放在场景中 ![](/icons/47778dou.gif) 例子名是:mymc. 2.新建 ![](/icons/47778yi.gif) 层,制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到此层中 3. ![](/icons/47778diaoyong.gif) 按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码; loadMovie("flash8.swf","mymc");//加载外部 "flash8.swf"文件到"mymc"空影片剪辑中; mymc._x=70;//加载影片 X轴坐标; mymc._y=20;//加载影片 Y轴坐标; mymc._xscale=70;//加载影片 宽度; mymc._yscale=70;//加载影片 高度; } 清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码 unloadMovie(mymc);//删除用loadMovie加载 *.swf文件; } Ctrl+Enter测试 ( 2) ![](/icons/47778diaoyong.gif) 外部*.swf文件并加载到时间轴上 外部*.swf文件要和编辑 ![](/icons/47778de.gif) Flash文件放在同 ![](/icons/47778yi.gif) 目录下 1.制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到场景中 2. ![](/icons/47778diaoyong.gif) 按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码 loadMovie("flash8.swf",1);//加载外部 "flash8.swf"文件到场景中 层深为1; } 清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码 unloadMovie(1);//删除层深为1 用loadMovie所加载 "flash8.swf"文件 } Ctrl+Enter测试 ![](/icons/47778dou2.gif) 当然 2和 3 ![](/icons/47778de.gif) 代码都可以写在帧上 ![](/icons/47778dou2.gif)
3、用loadMovie ![](/icons/47778diaoyong.gif) 外部图片 ![](/icons/47778dou.gif) 加载到影片剪辑中 将外部图片必须和正在编辑 ![](/icons/47778de.gif) Flash文件放在同 ![](/icons/47778yi.gif) 目录下 1.制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到场景中 2.制作 ![](/icons/47778yi.gif) 个空 ![](/icons/47778de.gif) 影片剪辑 ![](/icons/47778dou.gif) 拖到场景中 ![](/icons/47778dou.gif) 例子名是:mymc; 3.时间轴上第 ![](/icons/47778yi.gif) 帧上 ![](/icons/47778de.gif) AS如下: i=0;//定义 个变量i 并且赋初值为0; ![](/icons/47778diaoyong.gif) 按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码; i ; (i>9){// 外面这有9张图 当变量大于9 时候 让变量为1 这样能够使加载 图片是连续![](/icons/47778de.gif) 即 每点 次按扭 就换 张图 等到换到第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; mymc._xscale=130; mymc._yscale=130; } 清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){ unloadMovie(mymc);//删除掉用loadMovie加载到影片剪辑 图片; } Ctrl+Enter测试 ![](/icons/47778dou2.gif) 当然AS代码也可以写在帧上 ![](/icons/47778dou2.gif) 4、用mySound.loadSound ![](/icons/47778diaoyong.gif) 外部声音文件 ![](/icons/47778dou.gif) 加载到场景中 外部声音文件必须和正在编辑 ![](/icons/47778de.gif) Flash文件放在同 ![](/icons/47778yi.gif) 目录下 1.制作两个按扭( ![](/icons/47778yi.gif) 个 ![](/icons/47778diaoyong.gif) ![](/icons/47778dou.gif) ![](/icons/47778yi.gif) 个清除)拖放到场景中 2. ![](/icons/47778diaoyong.gif) 按扭上 ![](/icons/47778de.gif) AS代码: on(release){//鼠标离开按扭后执行下面 代码; mySound= Sound ;//建立 个新 声音对象mySound; mySound.loadSound("zaihuni.mp3″,true);//加载外部 *.mp3声音文件到mySound对象中 并且按流 方式播放(参数为false时 是以装载完后播放); }
清除按扭上 ![](/icons/47778de.gif) AS代码: on(release){ mySound.stop ;//当按下清除按扭后 停止声音 播放 } Ctrl+Enter测试 ![](/icons/47778dou2.gif) 5、用loadMovieNum ![](/icons/47778kh.gif) ![](/icons/47778hanshu.gif) ![](/icons/47778diaoyong.gif) 所有外部文件 ( ![](/icons/47778yi.gif) )loadMovieNum ![](/icons/47778kh.gif) ![](/icons/47778hanshu.gif) 详解 使用方法:loadMovieNum("url",level [, variables]) 功能:在播放原来加载 ![](/icons/47778de.gif) SWF 文件 ![](/icons/47778de.gif) 同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中 ![](/icons/47778de.gif) 某个级别 ![](/icons/47778dou2.gif) 参数:该 ![](/icons/47778hanshu.gif) 有3个参数:url、target、variables ![](/icons/47778dou2.gif) variables 是可选参数 ![](/icons/47778dou2.gif) 1.参数url:要加载 ![](/icons/47778de.gif) SWF 文件或 JPEG 文件 ![](/icons/47778de.gif) 绝对或相对 URL(路径) ![](/icons/47778dou2.gif) 该 ![](/icons/47778hanshu.gif) ![](/icons/47778de.gif) 此参数和上面loadMovie中 ![](/icons/47778de.gif) 此参数使用方法完全 ![](/icons/47778yi.gif) 致 ![](/icons/47778dou.gif) 这里不再作解释 ![](/icons/47778dou2.gif) 2.参数level: ![](/icons/47778yi.gif) 个整数 ![](/icons/47778dou.gif) 指定 SWF 文件将加载到Flash Player中 ![](/icons/47778de.gif) 哪个级别 ![](/icons/47778dou2.gif) 加载 ![](/icons/47778de.gif) 时候 ![](/icons/47778dou.gif) 可以这样来写: loadMovieNum("01.swf", 1); loadMovieNum("02.swf", 2); loadMovieNum("03.swf", 3); loadMovieNum加载后 ![](/icons/47778de.gif) 控制可以这样使用: _level1._x=10 ; _level2.aa._alpha=50 ; _level3.aa.bb._width=110; _level4.mysound.stop ;// 加载到级别为4 对象MC:mysound停止(播放音乐) 需要注意 ![](/icons/47778de.gif) ![](/icons/47778de.gif) 是 ![](/icons/47778dou.gif) 每 ![](/icons/47778yi.gif) 个级别只能同时存在 ![](/icons/47778yi.gif) 个 SWF 或 JPEG 文件 ![](/icons/47778dou2.gif) 如果两个 SWF 或 JPEG 文件 ![](/icons/47778de.gif) 级别相同 ![](/icons/47778dou.gif) 那么后者将替换掉前者 ![](/icons/47778dou2.gif) 级别区别 ![](/icons/47778de.gif) _level ![](/icons/47778dou.gif) 级别大 ![](/icons/47778de.gif) 将覆盖掉级别小 ![](/icons/47778de.gif) ![](/icons/47778dou.gif) 即:数字大 ![](/icons/47778de.gif) 将处于数字小 ![](/icons/47778de.gif) 的上(如上例:03.swf处在02.swf和01.swf上方 ![](/icons/47778dou.gif) 02.swf处在01.swf上方) ![](/icons/47778dou2.gif) 注意:如果将 SWF 文件加载到级别 0 ![](/icons/47778dou.gif) 则 Flash Player 中 ![](/icons/47778de.gif) 每个级别均被卸载 ![](/icons/47778dou.gif) 并且级别 0 将替换为该新文件 ![](/icons/47778dou2.gif) 处于级别 0 ![](/icons/47778de.gif) SWF 文件为所有其它加载 ![](/icons/47778de.gif) SWF 文件设置帧频、背景色和帧大小 ![](/icons/47778dou2.gif) 如:
loadMovieNum("00.swf", 0); //以下均不显示 这样只有 个00.swf loadMovieNum("01.swf", 1); loadMovieNum("02.swf", 2); loadMovieNum("03.swf", 3); 3.参数variables:可选参数 ![](/icons/47778dou.gif) 指定发送变量所使用 ![](/icons/47778de.gif) HTTP 思路方法 ![](/icons/47778dou2.gif) 该参数必须是 ![](/icons/47778zifu.gif) 串 GET 或 POST ![](/icons/47778dou2.gif) 如果没有要发送 ![](/icons/47778de.gif) 变量 ![](/icons/47778dou.gif) 则省略此参数 ![](/icons/47778dou2.gif) GET 思路方法将变量追加到 URL ![](/icons/47778de.gif) 末尾 ![](/icons/47778dou.gif) 它用于发送少量 ![](/icons/47778de.gif) 变量 ![](/icons/47778dou2.gif) POST 思路方法在单独 ![](/icons/47778de.gif) HTTP 标头中发送变量 ![](/icons/47778dou.gif) 它用于发送大量 ![](/icons/47778de.gif) 变量 ![](/icons/47778dou2.gif) ( 2)loadMovieNum ![](/icons/47778kh.gif) ![](/icons/47778de.gif) 卸载外部文件 ![](/icons/47778diaoyong.gif) 使用 unloadMovieNum ![](/icons/47778kh.gif) 可删除用 loadMovieNum ![](/icons/47778kh.gif) 加载 ![](/icons/47778de.gif) SWF 文件或图像 ![](/icons/47778dou2.gif) 使用方法: unloadMovieNum(level) 参数: level 所加载影片 ![](/icons/47778de.gif) 级别 (_levelN) ![](/icons/47778dou2.gif) 如: on(release){ unloadMovieNum (1200);//如下:unloadMovieNum (_level1200);不能卸载 loadMovieNum ("sje.swf",1200) } ( 3)lloadMovieNum ![](/icons/47778kh.gif) ![](/icons/47778de.gif) 定位 从前面我们已经知道了 ![](/icons/47778dou.gif) ![](/icons/47778hanshu.gif) loadMovieNum是将 SWF 或 JPEG 文件加载到_level(级别) ![](/icons/47778de.gif) ![](/icons/47778dou2.gif) 并且是用_level1._x、_level2._x、_level1.aa._x的类 ![](/icons/47778de.gif) 来定位 ![](/icons/47778de.gif) ![](/icons/47778dou2.gif) 比如我们要将02.swf加载到主场景坐标系 ![](/icons/47778de.gif) (50,100)中 ![](/icons/47778dou.gif) 代码如下: loadMovieNum ( “02.swf" , 1 ); //极有可能不能如愿定位 _level1. _x = 50 ; _level1. _y = 100 ; 但是在测试 ![](/icons/47778de.gif) 时候大家会发现加载进来 ![](/icons/47778de.gif) 02.swf并没有如我们预期 ![](/icons/47778de.gif) 那样出现在主场景坐标系 ![](/icons/47778de.gif) (50,100)位置 ![](/icons/47778dou.gif) 这是为什么呢? 原来 ![](/icons/47778dou.gif) 在没有使用loadMovieNum以前 ![](/icons/47778dou.gif) 所有 ![](/icons/47778de.gif) 图形、MC等等都是处于_level0里 ![](/icons/47778de.gif) ![](/icons/47778dou.gif) 我们通常使用 ![](/icons/47778de.gif) _root其实就是_level0 ![](/icons/47778dou2.gif) 你可以作个测试:trace(_root ![](/icons/47778dd.gif) _level0) ![](/icons/47778dou.gif) 你会发现返回值是“true" ![](/icons/47778dou2.gif)
那么 ![](/icons/47778dou.gif) 我们用loadMovieNum加载 SWF 或 JPEG 文件 ![](/icons/47778de.gif) 时候 ![](/icons/47778dou.gif) ![](/icons/47778chengxu.gif) 就要对你指定 ![](/icons/47778de.gif) _level进行创建 ![](/icons/47778dou.gif) 随后再紧接着载入 SWF 或 JPEG 文件 ![](/icons/47778dou2.gif) 如果像刚才代码中写 ![](/icons/47778de.gif) 那样 ![](/icons/47778dou.gif) 不判断_level是否存在而 ![](/icons/47778diaoyong.gif) 其属性 ![](/icons/47778dou.gif) 势必无功而反 ![](/icons/47778dou2.gif) 解决 ![](/icons/47778de.gif) 思路方法也很简单 ![](/icons/47778dou.gif) 就是用 ![](/icons/47778yi.gif) 个循环来判断指定 ![](/icons/47778de.gif) _level是否存在 ![](/icons/47778dou2.gif) ![](/icons/47778yi.gif) 旦_level产生 ![](/icons/47778dou.gif) 那么它 ![](/icons/47778de.gif) 种种属性自然可以 ![](/icons/47778diaoyong.gif) 了 ![](/icons/47778dou2.gif) 代码如下: loadMovieNum ( “02.swf" , 1 ); //如愿定位 onEnterFrame = function { ( _level1 ) { with ( _level1 ) { _x = 50 ; _y = 100 ; } delete _disibledevent= Interval ( go,100 );//每隔 定 时间 就![](/icons/47778diaoyong.gif) 、思路方法或对象 再或者大家可以使用Macromedia Flash MX 2004中 ![](/icons/47778de.gif) MovieClipLoader类来判断加载状态 注意:深度depth值越大 ![](/icons/47778dou.gif) 其加载 ![](/icons/47778de.gif) 内容越往后 ![](/icons/47778dou.gif) 即越在下层 ![](/icons/47778dou.gif) 处于下方 ![](/icons/47778dou.gif) 被遮盖;这和级别标识符_levelN 相反 ![](/icons/47778dou.gif) 在_levelN 中 N 值越大 ![](/icons/47778dou.gif) 其加载 ![](/icons/47778de.gif) 内容越往前 ![](/icons/47778dou.gif) 即越在上层 ![](/icons/47778dou.gif) 处于上方 ![](/icons/47778dou2.gif) ( 4)小窍门技巧:用lloadMovieNum ![](/icons/47778kh.gif) 保护你 ![](/icons/47778de.gif) 作品——使用虚假 ![](/icons/47778de.gif) 文件后缀 其实加载外部文件 ![](/icons/47778de.gif) 扩展名不 ![](/icons/47778yi.gif) 定非得以 .swf 命名 ![](/icons/47778dou.gif) 虽然加载 ![](/icons/47778de.gif) 影片也在IE ![](/icons/47778de.gif) 临时文件夹中 ![](/icons/47778dou.gif) 但已是自定义 ![](/icons/47778de.gif) 文件格式了 ![](/icons/47778dou.gif) 这样可以起到保护作用 ![](/icons/47778dou2.gif) 例如: loadMovieNum("feng.exe",0);//加载feng.swf 将扩展名改为—> feng.exe加载 /* loadMovieNum("feng.txt",0); //加载feng.swf 将扩展名改为—> feng.txt 加载 loadMovieNum("feng.doc",0); //加载feng.swf 将扩展名改为—> feng.doc 加载 loadMovieNum("feng.abcde",0); //加载feng.swf将扩展名改为 —> feng.abcde 加载 loadMovieNum("feng",0); //加载feng.swf 将扩展名删除—> feng 加载 */
相关文章
读者评论
发表评论
|
|