Flash动画与Windows应用程序之间数据通信的研究与探讨

来源:互联网 发布:nginx配置技巧 编辑:程序博客网 时间:2024/05/21 21:58

Flash动画与Windows应用程序之间数据通信的研究与探讨

钱路宽
 
 
摘要  本文介绍了用Fscommand实现Flash动画和Windows应用程序之间的数据通信的方法,同时附有技术实现的关键函数。
关键词  Fscommand;Windows应用窗体;Flash动画
1 引言
在网页的制作中,Flash和Asp网页之间的数据通信的资料比较多,但关于如何实现Flash和Winform之间的数据通讯的实现方法比较少,甚至可以说没有。事实上除了网页经常要和flash进行交互外,Windows应用程序和Flash间的交互也是必不可少的,因此将网页和flash的交互技术扩展到Winform和Flash的交互就有实际应用价值,值得去探讨。
2 技术简介
在.net环境中,实现Flash动画和Windows应用程序之间的数据通信的方法之一便是用Fscommand函数。
FSCommand命令是Flash系统用来支持其他应用程序互相传达命令的工具,有在Flash播放器和网页两方面用途(通过本文将得出在Winform中也可以应用)。
(1)能使Flash向脚本语言发送命令。可以是调用脚本语言中的一段函数或传递变量给脚本语言等。
     (2)能使脚本语言(js,vbs)向Flash发送命令。可以是给Flash中定义变量或是直接控制Flash动画的时间线上的跳转或给Flash中定义实体的属性等
3 技术的实现
在.net中,默认没有Flash的插件,为了将Flash动画嵌入到winform中应将Flash插件添加Winform的工具箱中,即添加Shockwave flash object控件,步骤为:
点击工具箱à右击选择”添加移除项”à选择”com组件” à找到并选择shockwave flash objectà点击确定..
然后是代码的编写:
1)将值从Flash中传到Winform:
在Flash Mx中编写ActionScript:
①制作一按钮,并将其命名为Buttoninflash。
②在这一按钮所在的帧中编写代码:,格式如下:
buttoninflash.onPress = function() {
 fscommand("gege", "从flash到winform的值!");
};//gege 作为函数名调用
③保存并发布此flash文件。
在vs.net中,编写Winform代码
①在Winform的界面上添加shockwave flash object控件,并将该控件的movie属性设置为所要嵌入的flash播放文件的路径。
     ②在Winform中添加一个textbox,将其命名为textbox1.此控件用来显示从Flash传向Winform的参数。
③在 Winform的事件属性Fscommand中写上gege。
④在.net后台编写代码,格式如下:
private void gege(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
             {
               textBox1.Text=e.args.ToString();
          }
从flash向winform传值完成,运行winform程序,点击flash播放文件中的按钮,可以看到"从flash 到winform的值!"显示在textbox中。
4 Winform中传值到Flash
(1)在已编辑过的Flash文件中添加一文本框,定义其实体名为lable1,用来显示Winform传给flash动画的参数。
然后将Flash文件重新保存并发布。
(2)打开已编辑过的Winform,添加一个button控件,取名为buttoninwinform,然后双击此按钮,添加Click代码:
private void buttoninwinform_Click(object sender, System.EventArgs e)
                {
                    axShockwaveFlash1.SetVariable("lable1.text","从winform到flash的值 ");
            }
运行flash和winform点击winfrom中的button控件,则"从Winform到Flash中的值"在flash中的文本框中显示,如果你再点击flash中的button按钮, “从Flash到Winform的值 "将在Winform中显示。
5 实例应用
移动办公GIS中的应用。此办公系统主要功能是:Flash中的一个区域作为一个热点(对象),每一个对象有按钮的特点,一触动区域,把这个区域的信息(指哪个地方)信息保存下来Winform接到信息后,对这个区域的信息进行查询,结果显示出来,反过来一样的道理,通过表格数据来得到flash图。
运用上面的有关Flash动画和Winform的数据通信的方法可以很实现该移动办公系统的主要技术关键——数据传递。
上面使用了Fscommand命令实现了Flash和Windows应用程序间的传值,其实用socket函数同样也能实现数据的传值,只是用socket实现传值比较繁,但它安全,它使用到了监听的方式,在这里不讨论了。
6 结束语
  Flash动画和Windows应用程序的结合,肯定能使系统更加美观,但同时也带来了如何进行数据通信的问题,如何实现通信,用什么样的方式进行通信便成为了实现该系统的关键所在,用Fscommand函数比较方便的实现了高效的数据通信。
参考文献:
1  丁建超.《Flash 5 高级实例教程:ActionScript 编程篇》. 中国青年出版社
2  郑小平《Visual C#.NET开发实践》 人民邮电出版社
3  PowellRobert .《C#和.NET架构》.  人民邮电出版社

原创粉丝点击