找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4537|回复: 0

[无墨] [转贴]Flash中调用外部文件的方法(BYAzure )

[复制链接]
发表于 2006-11-13 07:33:11 | 显示全部楼层 |阅读模式
这两天一直待在宿舍帮导师准备精品课程的申报网站,比较简单的一个html + Flash的站。期间碰到一些问题,用Flash MX制作课程网站时,一般生成的文件都是一个整体文件,制成的课件没有Flash源文件时不能被再编辑,不便于再利用。Google了一下,找到了一些在Flash中调用外部文件的方法,包括:外部文本文件、外部程序文件、外部Flash文件、外部图片文件、外部音乐文件和外部脚本文件等。总结一下,留着以后用。, E  _: x6 e, \& o+ ]6 p8 o

1 w6 G. h9 e5 G* Y顺便推荐一个站,Flash8的新特性浏览器,比较直观
: @+ h$ n' i- ^' T) }- `1 z) I, W
3 v2 I' s7 L; s2 }  IFlash MX中,外部文件的调用可以通过帧、按钮和影片剪辑响应来调出。在制作课件的时候,为了增强课件的交互性,通常使用按钮响应来调出。
: Z" V3 v# h7 E
2 B0 Y% [% f5 G9 @. c一:调用外部文本文件
. r8 j! N) x" i6 R' N1、文本类型为“动态文本”、字体、大小、颜色、变量名为了方便起见,统一命名,以便在后面的脚本程序中调用。+ Y* Y. Z, [9 C
2、在按钮对象中添加脚本:/ y" X( Z# g9 n9 L# v
on (release) {5 Y! E, E/ t' D2 g  P
     loadVariablesNum("xxx.txt", 0);   //调用文件名为“xxx.txt”的外部文本文件,级别为0级- H; J1 [' |9 O* R+ k  J
     System.useCodepage = true;   //显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码
" q1 v; \+ i: x* q* C" U}
& N  k  [( y( Y, ?3 a3 R$ j注意:  O6 \4 B' b; C4 t) C0 F5 H
1、外部文本文件必须和主文件在同一目录下。8 x) c9 C* X- i! ~, h
2、外部文本文件名必须为“xxx.txt”。
/ f& L  Z! |. N8 \3、外部文本文件第一行开头必须为“xxx=”形式。
  w( r( ~& ~! X3 R  Z缺点:即使用8.0发布,动态文本的效果也不好。- I% F  r+ B% d  o: Y; g, n' z
) i( M- r: T5 i0 l) z: c- I
二:调用外部程序文件; |9 ~5 `: ]% ~9 |9 I
在按钮对象中添加脚本:! [0 I  n+ g9 N: n: x* t0 B1 `
on (release) {
6 V5 d! j* \& ^7 b+ H; k2 z6 _7 r6 j' R    fscommand("exec", "xxx.exe");   //调用文件名为“xxx.exe”的外部程序文件.- h# z4 ]* I! L* y5 w
}& Q' q8 H+ ^$ q6 _: W  Q
注意:
% u9 S' G) z" i7 a) U8 P1、外部程序文件必须和主文件在同一目录下。3 u# S7 t: ?- f6 A; v& d' C
2、外部程序文件名必须为“xxx.exe”。5 l0 }7 y) `9 C4 G; S4 J& x
3、如果要调用较大的程序文件,可以把主文件复制到程序文件的目录下,或者改变脚本设置,相对路径改为绝对路径。(不推荐)如:要调用Windows中的计算器程序,可设置脚本为:
* m7 F  N0 f* k/ u; Oon (release) {
# g' U6 F. q% A( w9 D     fscommand("exec", "C:\\Windows\\calc.exe");- d# h& y0 B) r& }7 M% x# j
}
) K( ?  B$ N6 _3 p  u. C- ]6 {% M' r8 r; r. K9 p& v
三:调用Flash影片8 [- ?5 G- v! k' z
1、新建元件,名称为“空”,作用为“影片剪辑”。5 D3 G; v2 S. a$ ]. E
2、拖动“空”影片剪辑元件到舞台上,创建一个实例。打开“属性”面板,设置实例名为“blank”) ~6 z4 y3 n2 {# \8 f
3、用鼠标右键单击舞台上的按钮三,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入以下脚本:
8 Y4 |4 h7 {3 [1 gon (release) {- P' H& u+ a1 I
     loadMovie("xxx.swf", "blank");  ^* b+ }6 |  P3 D: ^
}1 j; t/ e+ ~$ u( V! }+ H
第二行:表示调用文件名为“xxx.swf”的外部Flash影片文件,用来代替主文件中的名为“blank”的影片剪辑。我们可以通过控制影片剪辑“blank”的属性来控制外部文件名为“xxx.swf”Flash影片文件的属性。
- r2 ^+ H$ W" t( R% A3 |0 \2 x4 n7 Q! s5 L6 @' I( V' M
四:调用外部图片文件的方法与调用Flash影片的方法大致相同,不写了' P* C0 X- b  E' V& G

; r1 B" C( H/ V: Z# F% T" S; U% y五:调用外部音乐文件
/ B" R+ m5 @& C, f( r脚本:: }) J6 L# V0 ]4 T) d- j$ N0 d
on (release) {: Y' x! N3 W$ F( j/ I& ]
     music = new Sound();( c1 G% B* w$ [
     music.loadSound("xxx.mp3",true);
1 }; w4 U( X& H6 [2 }7 o* \  b( }}
6 f* b( I* V5 j9 Y% f第二行:新建一个声音文件,实例名为“music”。同样,我们可以设置“music”的属性(如音量、平衡、混响等)来控制外部音乐文件“xxx.mp3”的属性。; U, k( M/ C# U6 K; r* p* b
第三行:从外部调用一个文件名为“xxx.mp3”的音乐文件,“true”表示从网上下载时音乐文件时只存在于内存中而不下载到硬盘(在线播放)。
, W/ \/ p6 S* z
" v% o' Z" a0 j六:调用外部脚本文件% `& k: Y( J# n8 V# A0 |! o
一、操作方法:
0 t: ~' r4 z5 L: _$ ?脚本:) ]$ b2 J! M( g  Q& `0 k
#include "chem.as"- Q/ c. c3 c1 w" G
其中chem.as的内容可以这样编辑:
" H2 X2 R/ H5 U1 S9 v: kchm­_array=[]; + }" m# Z4 @4 B2 I/ C8 ?. t7 {
chem_array[0]=["aaa","bbb"];
, [' g. P: X2 b. T2 Q6 ?chem_array[1]=["ccc","ddd"];
4 K( h" F/ g1 x8 Dchem_array[2]=["eee","fff"]; . Z7 C* ~9 k4 y
这样可以方便准确的调用数组中的任一个元素,如chem_array[0][1]就调用了"bbb"。并且你可以随时给这个数组添加新元素而不用改动Flash源文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客户端