找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4526|回复: 0

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

[复制链接]
发表于 2006-11-13 07:33:11 | 显示全部楼层 |阅读模式
这两天一直待在宿舍帮导师准备精品课程的申报网站,比较简单的一个html + Flash的站。期间碰到一些问题,用Flash MX制作课程网站时,一般生成的文件都是一个整体文件,制成的课件没有Flash源文件时不能被再编辑,不便于再利用。Google了一下,找到了一些在Flash中调用外部文件的方法,包括:外部文本文件、外部程序文件、外部Flash文件、外部图片文件、外部音乐文件和外部脚本文件等。总结一下,留着以后用。
9 R7 E; A3 M+ u/ d6 h3 [% o! l! L- X" \
顺便推荐一个站,Flash8的新特性浏览器,比较直观6 q, {9 Y  N; s# O

0 o  \5 l0 w  z6 C0 FFlash MX中,外部文件的调用可以通过帧、按钮和影片剪辑响应来调出。在制作课件的时候,为了增强课件的交互性,通常使用按钮响应来调出。2 l* r% h( |, J% w" G+ ~% a

0 {# {8 A( U1 |8 c8 w6 O一:调用外部文本文件
6 r) e1 G& x8 a+ G; |3 d1、文本类型为“动态文本”、字体、大小、颜色、变量名为了方便起见,统一命名,以便在后面的脚本程序中调用。
3 F% H) ~- \" t+ [( `& k2、在按钮对象中添加脚本:
- I0 h; k0 i! w" Z/ ^on (release) {( I# \  x( h! ?9 `* \, H, s9 r7 [
     loadVariablesNum("xxx.txt", 0);   //调用文件名为“xxx.txt”的外部文本文件,级别为0级
; Y: M) c9 i5 l7 }     System.useCodepage = true;   //显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码1 b/ b5 }6 f4 K  Z6 z/ C( H* o
}
: Q$ h6 x* @7 y9 g- g注意:! a, [) }4 U$ @5 Z
1、外部文本文件必须和主文件在同一目录下。
8 j  d3 f# Q2 V, N! M# h2、外部文本文件名必须为“xxx.txt”。
' _* e$ p5 b2 s" @: |; ~7 i& _5 R$ [3、外部文本文件第一行开头必须为“xxx=”形式。. ]% j6 z# T+ g1 n! l
缺点:即使用8.0发布,动态文本的效果也不好。
1 ~2 d3 a* P. p9 f7 {2 q# T 9 L1 \, F* j8 N9 z2 t
二:调用外部程序文件
- R# |1 f/ j: G9 b  a. z' R5 x在按钮对象中添加脚本:: a  n6 `  w6 `6 M& c/ J. F
on (release) {
( f% Z, D& n; E% q6 C5 y9 @5 U3 l    fscommand("exec", "xxx.exe");   //调用文件名为“xxx.exe”的外部程序文件.
# D5 n2 T0 f; Q  B  D}
3 X8 k4 }/ w6 Q4 k3 Y注意:( G" g4 d7 C! M& g$ e! |/ O
1、外部程序文件必须和主文件在同一目录下。
% a1 i, P0 g, \" q' Y2、外部程序文件名必须为“xxx.exe”。
/ o; f% ]/ q& B) Z, k) h+ N3、如果要调用较大的程序文件,可以把主文件复制到程序文件的目录下,或者改变脚本设置,相对路径改为绝对路径。(不推荐)如:要调用Windows中的计算器程序,可设置脚本为:
0 d! B: p  O/ l, ?7 C) Don (release) {
0 V1 R  A0 u1 o6 k( e     fscommand("exec", "C:\\Windows\\calc.exe");# t6 V1 p, o4 t& T" s
}
. M+ u" J  Q; J' ~! f4 q2 j) i) J4 V
三:调用Flash影片
# k/ ^3 ^# g. ~; j- v1、新建元件,名称为“空”,作用为“影片剪辑”。5 S7 a# @* l4 Z% o
2、拖动“空”影片剪辑元件到舞台上,创建一个实例。打开“属性”面板,设置实例名为“blank”7 k- z$ i: d7 H
3、用鼠标右键单击舞台上的按钮三,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入以下脚本:! b2 F2 O/ ^) b1 o- ?/ h
on (release) {
/ l7 W/ V* l0 c, K( p0 u0 |     loadMovie("xxx.swf", "blank");
6 r6 s( E' Z+ m! w3 v" Y}
1 m* u- _0 I, |9 U第二行:表示调用文件名为“xxx.swf”的外部Flash影片文件,用来代替主文件中的名为“blank”的影片剪辑。我们可以通过控制影片剪辑“blank”的属性来控制外部文件名为“xxx.swf”Flash影片文件的属性。: ~0 {! x7 p) Z6 F# p3 R0 V
, H9 y" x% ~. C- V2 D. X
四:调用外部图片文件的方法与调用Flash影片的方法大致相同,不写了0 h+ Z, a- I9 ?, R  c  e# s

  T2 z1 [1 W9 E" U# B: n/ t五:调用外部音乐文件
- }" D  P$ ]5 ^$ p5 Y脚本:
. n7 X+ Z( D' ?3 `" h9 f& non (release) {
% Y% x2 b6 E- L( U% l( c/ M     music = new Sound();* d5 ^9 U6 E+ P) D, v/ S  ^) U
     music.loadSound("xxx.mp3",true);, }- x7 ]+ b) R
}
' ?2 ^. J2 p: v8 `第二行:新建一个声音文件,实例名为“music”。同样,我们可以设置“music”的属性(如音量、平衡、混响等)来控制外部音乐文件“xxx.mp3”的属性。( U+ d, O1 f7 U: c
第三行:从外部调用一个文件名为“xxx.mp3”的音乐文件,“true”表示从网上下载时音乐文件时只存在于内存中而不下载到硬盘(在线播放)。
* i; K  {5 I0 }/ q9 M # z) h$ w& A$ N- q6 J0 ^4 V
六:调用外部脚本文件
5 ^5 m* R4 j8 I6 l* K6 m# g. T一、操作方法:
9 j8 B4 p: s; f脚本:$ M& [& r: J4 {. t$ H
#include "chem.as"/ }$ O% C$ G0 j/ T1 o. P  X
其中chem.as的内容可以这样编辑: 6 s" G$ S& Z3 H5 f
chm­_array=[]; ( t3 q7 ?5 n: I% {' l# j, R# @3 J8 X
chem_array[0]=["aaa","bbb"];
6 i  i% ]: B4 s9 g2 T: J$ Schem_array[1]=["ccc","ddd"];
. O7 f  w, L$ e3 C1 i: Bchem_array[2]=["eee","fff"];
+ O6 E1 d( D# X4 ^7 U: f这样可以方便准确的调用数组中的任一个元素,如chem_array[0][1]就调用了"bbb"。并且你可以随时给这个数组添加新元素而不用改动Flash源文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

客户端