摘要
关键词 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中定义实体的属性等
(2)能使脚本语言(js,vbs)向Flash发送命令。可以是给Flash中定义变量或是直接控制Flash动画的时间线上的跳转或给Flash中定义实体的属性等
3 技术的实现
在.net中,默认没有Flash的插件,为了将Flash动画嵌入到winform中应将Flash插件添加Winform的工具箱中,即添加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中显示。
浙公网安备 33010602011771号