flash与web开发语言的交互

flash与web开发语言的交互


我 们知道flash的交互性是很强大的,而且可以做出非常漂亮的效果.同时我们也看到有些网站是全flash的,并且不仅是界面,连显示的数据都是动态生成 的,也就是说flash可以与后端的web开发语言进行交互操作,这是怎么做到的呢?那么现在就跟随我来做一个简单的例子.
    flash与后端web开发语言交互的关键在于flash里的loadVariables函数,我们知道flash所使用的语言ActionScript是非常强大的,利用这个函数我们就可以实现与web开发语言的交互.
    首先我们新建一个flash文件,插入一个新元件(Ctrl+F8),随便起一个名称,比如叫first,将行为设置为影片剪辑,然后确定.
    在这个影片剪辑中,我们新建一个层,可以将它命名为action,这样我们现在就有两个层了,你可以将原来那个层命名为first,action层专门来写脚本,first层来做界面.
    插入三个关键帧,在第一个关键帧的first层做一个loading的界面,它的效果就由你来自由发挥了,在这里我们为了简单起见,就写上Loading字样,表示正在读取.然后在这个关键帧的action层写下如下代码:

_global.System.useCodepage = true;
if(startup != "OK")
{
startup = "OK";
loadVariables("count.php",this);
}

第一行表示使用Unicode,这样我们的中文才能显示出来,否则就会显示乱码.
if这行代表判断startup这个变量的值是否等于OK,在这里startup当然不等于OK,因此就进入了分支代码,将startup设置为OK,然后调用关键的函数loadVariables.
    这个函数是用来收发与后端web编程语言所交互的信息的.第一个参数代表访问哪个文件,第二个参数代表收发哪个电影片断,在这里是自己本身,所以我们设置 为this.在这个例子里并没有出现第三个参数,因为我们只想接收信息,第三个参数是用来设置发送数据的方式,就像web程序一样,它的值为"GET" 或"POST",也就是说我们可以使用GET方式或者表单的POST方式来发送数据.
    现在进入了第二帧,在first层做任何界面,在action层里写上以下代码:

if(load == "end")
{
gotoAndPlay(3);
}
else
{
gotoAndPlay(1);
}

第一行也是来判断的,load变量是从count.php接收来的,它的值end 就也是count.php所赋予的,当然你可以改成其他值,在这里它是用来判断是否从count.php接收到了信息.如果接收到了就播放第三帧来显示, 如果没有就回到第一帧继续显示loading.
    第三帧的action层非常简单,只需一个stop()函数就可以了.而它的first层就需要担当显示接收到的数据的责任.在这里我们从工具栏中选择文 本工具,在工作区拖出一个文本筐,然后打开它的属性面板,在一个下拉列表中选择动态文本,然后在变量那个筐中输入变量名,这个变量名就是从 count.php中接收来的,它的值为要显示的数据,我们这里把它设置为total.好了,现在flash部分就做好了.下面我们来用一种web开发语 言来编写后端的代码,在这里我们使用的是php,其他的编程语言像asp,jsp等都可以来做,一会我们会来解释.
    写一个php文件,文件名称当然是count.php.这个文件的业务逻辑你可以自己定义,只要在最后输出的时候按照一定的格式就可以让flash接收到,格式如下:

var1=value1&var2=varlue2&

大家看出来这个格式了吧,就是URL里的查询字符串的格式,var1和var2是变量名,等号后面的是它的值,每个变量中间使用&符号分隔.这样我们的php文件可以这样写:

echo "total=".$cout."&load=end&";

其中$cout变量是此php文件的业务逻辑部分计算出来的,业务逻辑你可以自己定义.后面的load=end就是刚才flash第二帧所写的.total变量就是第三帧那个动态文本筐所输入的.

    其他的web开发语言也是这样,只要按照格式数据即可,比如在JSP中可以写成:

out.print("total="+cout+"&load=end&");

    现在我们来测试一下这个程序,将flash发布,输出为Flash和网页,这样就会生成出.html和.swf文件,把他们和php文件放到web服务器的目录下,然后在浏览器中输入:

http://你的服务器地址:端口号/你的html文件名称

    现在看到效果了吗?是不是动态的显示出数据了.
    注意:loadVariables函数好像是从flash5开始有的,所以我们在做的时候要注意版本.现在flash的新版本对与后端数据的访问做了加强,新添加了许多新的函数和类,大家可以自行研究一下.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值