这两天一直待在宿舍帮导师准备精品课程的申报网站,比较简单的一个html + Flash的站。期间碰到一些问题,用Flash MX制作课程网站时,一般生成的文件都是一个整体文件,制成的课件没有Flash源文件时不能被再编辑,不便于再利用。Google了一下,找到了一些在Flash中调用外部文件的方法,包括:外部文本文件、外部程序文件、外部Flash文件、外部图片文件、外部音乐文件和外部脚本文件等。总结一下,留着以后用。1 C' m) \3 I8 M
! l4 x1 }" C2 E% F5 u+ O
顺便推荐一个站,Flash8的新特性浏览器,比较直观
H6 ~. `. z1 Y$ g& \/ E# P, T! `6 y" X
Flash MX中,外部文件的调用可以通过帧、按钮和影片剪辑响应来调出。在制作课件的时候,为了增强课件的交互性,通常使用按钮响应来调出。: p$ L; `" r+ P" j
0 U8 Y( M- W; ^; L2 @9 ~& D0 ?2 L
一:调用外部文本文件
- P; \* p& S& T7 ], \" {0 ? r6 L1、文本类型为“动态文本”、字体、大小、颜色、变量名为了方便起见,统一命名,以便在后面的脚本程序中调用。
' ~7 b0 E `- P2 `9 F* }2、在按钮对象中添加脚本:( D' P+ B8 m" s& A" O& v
on (release) {
" u9 a: w' y, q1 A5 V R loadVariablesNum("xxx.txt", 0); //调用文件名为“xxx.txt”的外部文本文件,级别为0级
% W% c) o' w P7 w* x System.useCodepage = true; //显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码
/ S/ H- K# Y7 M}2 Z0 ~7 i& F6 Q2 g4 l
注意:1 o" T! Q$ c/ r7 Y3 ~$ a1 h
1、外部文本文件必须和主文件在同一目录下。
" W1 Q* v: a j8 n6 ~2、外部文本文件名必须为“xxx.txt”。- s' J5 g" x- J3 n' V( A
3、外部文本文件第一行开头必须为“xxx=”形式。+ i) ?+ k/ _% V% r
缺点:即使用8.0发布,动态文本的效果也不好。
_; s$ t7 V9 n6 Z: T3 M& m
/ e1 N1 m/ A7 R- X }% H! y二:调用外部程序文件
( ?5 l `6 ?1 [1 H在按钮对象中添加脚本:
# C/ D s! [2 ?4 e& d( d; uon (release) {: B% S' ^/ l* K" g
fscommand("exec", "xxx.exe"); //调用文件名为“xxx.exe”的外部程序文件. c, c$ j' K; l: I. ?7 \4 d# y
}4 P7 D, e; q7 c8 v# D8 F0 J
注意:: c/ c0 T9 F* o% |: q
1、外部程序文件必须和主文件在同一目录下。
# l9 W# h6 M9 N) k7 A2、外部程序文件名必须为“xxx.exe”。
- M" v" U' H* Q2 z1 b# j" } M) G& \3、如果要调用较大的程序文件,可以把主文件复制到程序文件的目录下,或者改变脚本设置,相对路径改为绝对路径。(不推荐)如:要调用Windows中的计算器程序,可设置脚本为:* o# W( ~( ]. V9 j: M
on (release) {$ G0 k/ u% L" m- u. l
fscommand("exec", "C:\\Windows\\calc.exe");6 d% f8 U0 b/ a, `8 M# C7 m2 s
}
2 h$ e/ q! a. Q: u# G; Z0 |3 _- ~
三:调用Flash影片
% [* J @% k3 q' r1 N1、新建元件,名称为“空”,作用为“影片剪辑”。9 [1 p3 l2 V8 N' ?! Y! r8 v
2、拖动“空”影片剪辑元件到舞台上,创建一个实例。打开“属性”面板,设置实例名为“blank”
) l9 a5 ^: p c$ ?, \+ E9 o* Z, S( P3、用鼠标右键单击舞台上的按钮三,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入以下脚本:( J1 s$ \ B- G
on (release) {
- c7 s) j: R: |- ~- { loadMovie("xxx.swf", "blank");% Y; ~1 F2 L6 }' D
}; T+ q4 \0 f5 N; w# ?2 n0 r
第二行:表示调用文件名为“xxx.swf”的外部Flash影片文件,用来代替主文件中的名为“blank”的影片剪辑。我们可以通过控制影片剪辑“blank”的属性来控制外部文件名为“xxx.swf”Flash影片文件的属性。- I ]5 S- j9 Z* D% r% A' J4 y
7 [/ m; m6 Y( o- U7 S9 G/ M+ L4 j四:调用外部图片文件的方法与调用Flash影片的方法大致相同,不写了* I9 ^2 `" ], ]
5 W. V3 x e, ^* W4 `五:调用外部音乐文件
3 t& [) e& ?% v$ L. E+ f" O n N脚本:; u0 e& L6 `1 L% p+ S: s
on (release) {
: |' B9 X% R8 d& V' ` music = new Sound();
( D0 X) e4 n' x% Q0 C- ` music.loadSound("xxx.mp3",true);0 M! Y, [1 ?: j' e" ]5 b' i
}
) t' U; ?- B4 I2 h% m7 d第二行:新建一个声音文件,实例名为“music”。同样,我们可以设置“music”的属性(如音量、平衡、混响等)来控制外部音乐文件“xxx.mp3”的属性。
" x& ~! @7 n7 J* r第三行:从外部调用一个文件名为“xxx.mp3”的音乐文件,“true”表示从网上下载时音乐文件时只存在于内存中而不下载到硬盘(在线播放)。
6 `8 @' z: J& _% }
& E9 U+ V1 M) z六:调用外部脚本文件
* D) m5 r+ L" \* l( p一、操作方法:
' `" U0 n# G x' {6 V. |. ^脚本:
* P _& w& Y* `8 A* m#include "chem.as"# N9 B( D# j4 }1 d/ s/ H! n6 m
其中chem.as的内容可以这样编辑: . ~7 N9 ~ y! Z/ w& \
chm­_array=[];
, @+ l' c& G( d* o4 h: Uchem_array[0]=["aaa","bbb"];
. l+ u9 d" J A" U( e! D, Ochem_array[1]=["ccc","ddd"];
: u! y2 p% ], S. U4 l7 P% Uchem_array[2]=["eee","fff"]; 4 b2 Y2 j7 z3 J) u
这样可以方便准确的调用数组中的任一个元素,如chem_array[0][1]就调用了"bbb"。并且你可以随时给这个数组添加新元素而不用改动Flash源文件。 |