找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4511|回复: 0

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

[复制链接]
发表于 2006-11-13 07:33:11 | 显示全部楼层 |阅读模式
这两天一直待在宿舍帮导师准备精品课程的申报网站,比较简单的一个html + Flash的站。期间碰到一些问题,用Flash MX制作课程网站时,一般生成的文件都是一个整体文件,制成的课件没有Flash源文件时不能被再编辑,不便于再利用。Google了一下,找到了一些在Flash中调用外部文件的方法,包括:外部文本文件、外部程序文件、外部Flash文件、外部图片文件、外部音乐文件和外部脚本文件等。总结一下,留着以后用。
. c" {6 y& |1 J; ]  F' ]1 a
9 j9 R) ^' q1 g顺便推荐一个站,Flash8的新特性浏览器,比较直观8 R2 c6 j  H7 z* T

- a9 P- P- P( v& U8 y/ HFlash MX中,外部文件的调用可以通过帧、按钮和影片剪辑响应来调出。在制作课件的时候,为了增强课件的交互性,通常使用按钮响应来调出。- Y8 p: z0 X7 R1 P
5 p9 D# j* A: R' F
一:调用外部文本文件( w: u! P0 m/ e4 g6 G
1、文本类型为“动态文本”、字体、大小、颜色、变量名为了方便起见,统一命名,以便在后面的脚本程序中调用。
3 D& h0 r* z. @% L- @  n2、在按钮对象中添加脚本:% ?( @( t& I4 v4 g! X4 f
on (release) {
' l" \8 o. P+ ?     loadVariablesNum("xxx.txt", 0);   //调用文件名为“xxx.txt”的外部文本文件,级别为0级- K; t! Z6 Q" q" k$ K2 c! r
     System.useCodepage = true;   //显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码" V3 V0 ^0 \& x3 v; y) x6 [5 s4 x
}" d$ M5 \0 g$ U7 s
注意:
. z- S- A, A( ^/ b" |, \1、外部文本文件必须和主文件在同一目录下。5 g3 q5 }, T$ j9 i
2、外部文本文件名必须为“xxx.txt”。
! x8 Q- R5 H: Y3、外部文本文件第一行开头必须为“xxx=”形式。& W% B* Q# n: Y$ c
缺点:即使用8.0发布,动态文本的效果也不好。: W1 @2 B0 z: ]

  h9 m5 L! _) k8 P% B! d二:调用外部程序文件; C+ O) X: s2 p. k  e! N
在按钮对象中添加脚本:# P( i3 L# J' x, _: ~
on (release) {
# o: x% ~) e8 l    fscommand("exec", "xxx.exe");   //调用文件名为“xxx.exe”的外部程序文件.
5 h) p& T0 m& H" t% C$ _}
# K$ ]  M( a8 L& B) l7 Q7 C注意:
& U4 ^; i4 H2 ~/ l" s1、外部程序文件必须和主文件在同一目录下。
, @7 ?& t0 M" z3 L7 W2、外部程序文件名必须为“xxx.exe”。" J! Z( E) A5 _) Z. F! t4 P
3、如果要调用较大的程序文件,可以把主文件复制到程序文件的目录下,或者改变脚本设置,相对路径改为绝对路径。(不推荐)如:要调用Windows中的计算器程序,可设置脚本为:+ S4 r* N( ^  a- \7 }$ ?) [
on (release) {
& I( ]: C: `' s& P/ V" r7 s     fscommand("exec", "C:\\Windows\\calc.exe");) b& V5 f/ m6 Y1 ~' d
} 2 W* Q# c$ T' m8 `
; A: `2 V1 R5 a7 p. x
三:调用Flash影片6 m! c+ N8 t' P* T& x- {5 B0 L
1、新建元件,名称为“空”,作用为“影片剪辑”。
& D( t! J( p  X: t: D+ z' i% N7 Z2、拖动“空”影片剪辑元件到舞台上,创建一个实例。打开“属性”面板,设置实例名为“blank”
1 k: Q/ P5 d+ G+ _7 l, H% T3、用鼠标右键单击舞台上的按钮三,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入以下脚本:0 ?) l" A9 j( \+ |
on (release) {
/ u& j  r" z6 z; u8 q- k9 ~$ \6 y" @$ b     loadMovie("xxx.swf", "blank");
, y% a- }/ y. n7 s0 `" j}  z8 i5 _( m3 r* o5 S
第二行:表示调用文件名为“xxx.swf”的外部Flash影片文件,用来代替主文件中的名为“blank”的影片剪辑。我们可以通过控制影片剪辑“blank”的属性来控制外部文件名为“xxx.swf”Flash影片文件的属性。
  N# u2 l8 o+ F0 R2 K, q5 o0 f; L) n/ S! S
四:调用外部图片文件的方法与调用Flash影片的方法大致相同,不写了* ~+ [* v' z* \$ g; B0 d* j: j
# ~8 h7 f' g( H# `
五:调用外部音乐文件* @! ^6 _! T' U! E
脚本:$ z" i4 ], |. p, }5 `" V* m
on (release) {7 Q# f6 P* h2 V  I3 }
     music = new Sound();# M' Q( B5 w  z8 M" \, t
     music.loadSound("xxx.mp3",true);4 c0 ~6 T; b+ S; J9 k
}
- V3 B7 P( t: T: }0 p0 \" J3 L第二行:新建一个声音文件,实例名为“music”。同样,我们可以设置“music”的属性(如音量、平衡、混响等)来控制外部音乐文件“xxx.mp3”的属性。/ I' \* P) U8 I0 u& Y! ^
第三行:从外部调用一个文件名为“xxx.mp3”的音乐文件,“true”表示从网上下载时音乐文件时只存在于内存中而不下载到硬盘(在线播放)。5 e0 o- S. _0 I8 ^
' d2 }* T$ R2 r, @8 Q
六:调用外部脚本文件0 z4 i" ~5 x+ c, Q: |1 B6 w
一、操作方法:/ [% ?9 J) c: B0 j8 O
脚本:/ |, ^( J8 l. R0 w6 K
#include "chem.as"
, x. k# D7 c! q9 `# j其中chem.as的内容可以这样编辑: $ c# F6 W! J- `" Q$ x) ~
chm­_array=[];
) v: q! \+ h/ K+ h+ v( Cchem_array[0]=["aaa","bbb"];
/ X  y2 ?. v5 Wchem_array[1]=["ccc","ddd"]; . h8 j& I/ A& Y! L* K, y
chem_array[2]=["eee","fff"]; - D# d8 s5 M8 z
这样可以方便准确的调用数组中的任一个元素,如chem_array[0][1]就调用了"bbb"。并且你可以随时给这个数组添加新元素而不用改动Flash源文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客户端