#12000/12/5 10:49:10
FLASH 提供了与外部文件进行数据交换的功能,这无疑是扩大了 FLASH 的应用范围。FLASH 与外部联姻的最典型文件格式是TXT文件和ASP文件。前者可在客户机运行,后者要服务器支持。此外,也可以直接接受HTML文件的变量。下面分别进行介绍。
FLASH 能接受的变量格式为: 变量名=变量值
FLASH 支持多变量接受, 将上格式的多个变量分别用 & 分隔便可。
(一)、 从HTML 页面中向FLASH 传送变量:
1、 把调用SWF文件的那条语句:
<param name=movie value="您的SWF文件.SWF">
改为:<param name=movie value="您的SWF文件.SWF?变量名=变量值">
此时,SWF文件中就能接受到变量。
2、如果要在同一个HTML文件中传送多个变量则书写格式为:
param name=movie value="您的SWF文件.SWF?变量名1=变量值1&变量名2=变
量值2&变量名3=变量值3">
3、在SWF文件中设一文本字段,其字段的名(变量名)设置成与HTML文件传送的变量名相一致。
4、运行HTML文件,可见调用的SWF文件中显示出HTML中的变量。
( 示例及载源文件见后 )
(二)、 从TXT文件中读取变量:
1、建立一个TXT文件,文件中的变量书写格式为:
txt1=这是FLASH读取TXT文件
其中“txt1” 是变量名,“这是FLASH读取TXT文件” 是变量值。
2、如果要在同一个TXT文件中设置多个变量则书写格式为:
txt1=data1&txt2=data2.......
3、在SWF文件中设一文本字段,其字段的名(变量名)设置成与TXT文
件中的变量名相一致,要读取多少个变量,就设多少个字段。
4、在关健帧上设Actions
双击关健帧,弹出Actions设置框,
单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location"
在URL输入框内输入你的TXT文件名(例如flashtxt.txt).
选择Target.
最后,选择Variables中的Send using GET.
全部Actions如下:
Load Variables ("flashtxt.txt", "",vars=GET)
5、运行SWF文件,您可以看到TXT文件中的变量在SWF文件中显示。
当然,FLASH所接受的变量不仅是可以显示,还可以在FLASH中作为其
它用途,比如作为Acyions的参数使用等等,您可以发挥您的想像,创造出很多
的用途。
(三)、 从ASP文件中读取变量:
关于ASP文件,这里不准备作详细介绍,只讲涉及FLASH读取部份的内
容。先介绍一个ASP的内置对象:response 。这个对象用来从服务器向客户机
传送信息。其中 Response.Write 是输出信息的方法。对象是另一个是Server。
Server.URLEncode 方法则把ASP中的字符串作为URL格式编码为目标字符串,
这正是FLASH所能接受的格式。好了,下面具体讲述:
1、编写ASP 文件。(具体内容视功能而定)
2、在ASP文件设置中向客户机输出的语句。如:
<% m0="OK"
response.write("m1="+Server.URLEncode(m0)) %>
("m1="+Server.URLEncode(m0))是保证输出的变量格式为:
变量名=变量值。这一点最为重要,否则接受会不成功。
多个变量输出到SWF文件则用&联接如:
response.write("m1="+Server.URLEncode(m1))
response.write("&m2="+Server.URLEncode(m4))
3、SWF文件中设文本字段,这和上面(一)(二)所讲的方法和要点
相同。本例SWF文件中文本字段名为m1。
4、在关健帧上设Actions
双击关健帧,弹出Actions设置框,
单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location"
在URL输入框内输入你的ASP所在的URL和文件名
(例如:http://***.***.****.***/js.asp). 选择Target.
最后,选择Variables中的Send using GET.
全部Actions如下:
Load Variables ("http://***.***.****.***/js.asp", "", vars=GET)
由于ASP文件是在服务器端运行的,所以文件名前要加上服务器的
地址,这一点也要注意。
5、保证与服务器是联接的并运行SWF的HTML文件,可见变量m1的值“OK”
显示在SWF文件中。
(四)、 向ASP文件中输送变量:
这是三)的相反过程。 也先介绍一个ASP的内置对象:Request 这个ASP对象
的作用是从客户机获取信息。 Request.form 表方法就是从客户机取得表单信
息,如Request("REMOTE_ADDR"),加上REMOTE_ADDR参数则取得客户机的IP地址
.....这些已经不是FLASH的相关内容了,就此打住,讲正题:
1、在ASP文件中设读客户机表单的语句:如:m3=Request.form("input")
2、在SWF文件设文本字段,并定义为可编辑输入的字段。(不应该不会
吧?),另设一个文本字段用来接受ASP处理后的变量,方法
与(二)同不另。注意文本字段名要与ASP文件中所接受的变量名一致
,本例为“input“。
3、在SWF中设一个按钮,在按钮Actions上设脚本指令。(相当于HTML的
发送按钮,总要让FLASH知道什么时候发送吧)
双击按钮,选择Actions,弹出Actions设置框,
单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location"
在URL输入框内输入你的ASP所在的URL和文件名
(例如:http://***.***.****.***/js.asp). 选择Target.
最后,选择Variables中的Send using POST
(表单发送是以POST传送的)
全部Actions如下:
Load Variables ("http://***.***.****.***/js.asp", "", vars=POST)
4、 保证与服务器是联接的并运行SWF文件,运行SWF的HTML文件,显示出
输入框,随便输入几个字,点发送按钮,可见您输入的变量值经过ASP又由您
的FLASH读也显示的SWF文件中。
到目前为止,您已经掌握了ASP文件与FLASH文件的接口要点,实际上FLASH
做的留言本、计数器、聊天室的基本接口技术不过如此。我网页上的计数器就是
这样做的。
编写:南风。转载自:闪帝