这两天一直待在宿舍帮导师准备精品课程的申报网站,比较简单的一个html + Flash的站。期间碰到一些问题,用Flash MX制作课程网站时,一般生成的文件都是一个整体文件,制成的课件没有Flash源文件时不能被再编辑,不便于再利用。Google了一下,找到了一些在Flash中调用外部文件的方法,包括:外部文本文件、外部程序文件、外部Flash文件、外部图片文件、外部音乐文件和外部脚本文件等。总结一下,留着以后用。
# w- P6 I. H% i4 Q; ^: H' B# m: u2 o% G5 F. j" y' y& H/ X
顺便推荐一个站,Flash8的新特性浏览器,比较直观0 _4 G4 A0 R2 B& ]; a" p
& b) h" ~- [) Z. Y5 G: o8 g
Flash MX中,外部文件的调用可以通过帧、按钮和影片剪辑响应来调出。在制作课件的时候,为了增强课件的交互性,通常使用按钮响应来调出。
* B- j: p4 s0 ^6 P. Q. f) v Q. s# p1 N! S
一:调用外部文本文件
% T, m4 k3 _) P: p1 n$ @7 c1、文本类型为“动态文本”、字体、大小、颜色、变量名为了方便起见,统一命名,以便在后面的脚本程序中调用。6 E" l# s! g( Q- Y5 X; Q. H2 L9 H- ^
2、在按钮对象中添加脚本:5 w& s* m% M$ X' ]
on (release) {
# o7 c- T0 {/ V. ^: Q; e. Q loadVariablesNum("xxx.txt", 0); //调用文件名为“xxx.txt”的外部文本文件,级别为0级
; x3 S" Y/ K* o$ g& N System.useCodepage = true; //显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码
K* T! d* @4 Y. a}
% d+ K S( m/ x注意:0 |: P9 u# X# a. h; y
1、外部文本文件必须和主文件在同一目录下。0 D% m& A$ p6 F1 A' k
2、外部文本文件名必须为“xxx.txt”。: ]( x( `% `1 @! N" d
3、外部文本文件第一行开头必须为“xxx=”形式。5 ~3 M- X P/ p* p" _
缺点:即使用8.0发布,动态文本的效果也不好。
3 F' {, z8 J/ Q5 m3 o3 C3 v 6 N; X) P2 f; R9 M
二:调用外部程序文件) s) Q- q& g0 R% p* B/ l& ^' X
在按钮对象中添加脚本:
9 O, {" r5 j. S3 Ron (release) {
, z6 J/ I9 z4 A$ o, T2 f fscommand("exec", "xxx.exe"); //调用文件名为“xxx.exe”的外部程序文件.' O! a3 d# q5 C- k( H
}
- r) T5 r2 C# [! \+ R注意:
* ?! G1 [$ ]$ _$ ]" ~1、外部程序文件必须和主文件在同一目录下。
) p* s9 `5 Y# k. b9 C3 u2、外部程序文件名必须为“xxx.exe”。( A* ~+ N/ [/ h9 w/ @. v
3、如果要调用较大的程序文件,可以把主文件复制到程序文件的目录下,或者改变脚本设置,相对路径改为绝对路径。(不推荐)如:要调用Windows中的计算器程序,可设置脚本为:1 q7 C" @( I& W4 i
on (release) {1 i5 q* J" G% w: a: l% s
fscommand("exec", "C:\\Windows\\calc.exe");+ c6 @4 r: Z; B9 l& @5 o
} + b1 G* A2 F' C$ }1 B
( `+ w$ l: z9 n( Z$ h/ r/ t
三:调用Flash影片! n; q& p. ?" v
1、新建元件,名称为“空”,作用为“影片剪辑”。
) `5 S" i8 M" N0 h! I# e- U2、拖动“空”影片剪辑元件到舞台上,创建一个实例。打开“属性”面板,设置实例名为“blank”
, b1 |+ c; [/ I( G6 ~+ l9 Z3、用鼠标右键单击舞台上的按钮三,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入以下脚本:
6 a! k8 A. K6 s' F' Lon (release) {5 p( {3 Y, F3 o: T+ E6 a3 I0 G
loadMovie("xxx.swf", "blank");
) w, |; R- N: F) `}/ o2 B) g3 N* B$ J! H5 x. q* a6 w% o
第二行:表示调用文件名为“xxx.swf”的外部Flash影片文件,用来代替主文件中的名为“blank”的影片剪辑。我们可以通过控制影片剪辑“blank”的属性来控制外部文件名为“xxx.swf”Flash影片文件的属性。
8 W) z: G. x) T, W
( i: m! q8 B* n5 z' ?7 n四:调用外部图片文件的方法与调用Flash影片的方法大致相同,不写了$ Y; p2 Q4 R8 S7 O0 ~
3 b8 |- s4 T2 Q" j4 a五:调用外部音乐文件3 V8 [: ]. c5 X8 x+ `; E
脚本:- A1 }, a0 O) C7 \
on (release) {$ F3 f+ D6 z) x, V" _1 T4 U
music = new Sound();
8 N. M* l9 n) K music.loadSound("xxx.mp3",true);
4 l5 @' ?' B( }( k) @}
% j$ |# A4 j% f# k, r- v% t2 F第二行:新建一个声音文件,实例名为“music”。同样,我们可以设置“music”的属性(如音量、平衡、混响等)来控制外部音乐文件“xxx.mp3”的属性。# T7 U8 a' _# w J5 ^5 o
第三行:从外部调用一个文件名为“xxx.mp3”的音乐文件,“true”表示从网上下载时音乐文件时只存在于内存中而不下载到硬盘(在线播放)。
d3 @# Y9 i2 W s$ u% k- N3 @5 ] * R) v z( N1 ?
六:调用外部脚本文件
: {9 B0 R4 A0 R" p一、操作方法:& w4 }2 G: M( D; N( w7 p
脚本:% L. n# a' o. Z$ B. U
#include "chem.as" ~7 G/ o0 o J& f1 ?" t
其中chem.as的内容可以这样编辑:
( H7 O2 |6 |0 {& V3 x+ j6 Ychm­_array=[];
9 ?) l3 Z, x9 x5 ~8 ~chem_array[0]=["aaa","bbb"];
' g# R& w( p9 [/ z) V4 K" \! Vchem_array[1]=["ccc","ddd"];
" w7 k9 u/ h9 u/ tchem_array[2]=["eee","fff"];
- G6 ^3 e+ S t3 u5 O$ K, q, D3 V. Q这样可以方便准确的调用数组中的任一个元素,如chem_array[0][1]就调用了"bbb"。并且你可以随时给这个数组添加新元素而不用改动Flash源文件。 |