(一) 在VB.net中播放Flash动画
怎样才能在VB.net中加入Flash动画呢?我们只要使用Flash5自带的Shockwave Flash.ocx这个控件就可以了。方法如下:
1. 打开VB.net,新建一个工程,在工具箱上单击右键,选择"添加…",在com窗口的控件列表中选择Shockwave flash,然后确定,Flash控件就被加到工具箱上。
2.选择工具箱上的Flash控件,放到窗体上并调整好大小;
3.在Form_Load()过程中加入如下代码:
ShockwaveFlash1.Movie = “D:\test.swf” '这里一定要写绝对地址,其实只要把FLASH文件放到你程序的bin目录里,生成后自然变成相对路径
'这里写上你的Flash文件目录
ShockwaveFlash1.Menu = False
ShockwaveFlash1.Playing = True
其中,ShockwaveFlash1.Movie是用来指定你要播放的Flash动画的目录;ShockwaveFlash1.Menu是用来指定是否在Flash动画播放中封闭右键菜单,True为能够显示菜单,False为封闭右键菜单;ShockwaveFlash1.Playing = True是让动画播放。
(二) 在Flash中控制VB.net程序实现交互
现在Flash动画已经能在VB.net程序中播放了,那么怎么实现在Flash中控制VB的程序从而实现交互式的操作呢?本文的重点也在于此。
首先我们先来了解Flash中控制VB程序的基本原理:在Flash的ActionScript里面有个叫做FSCommand()的函数,它的主要功能就是发送FScommand命令,例如使动画全屏播放,隐藏动画菜单,更重要的就是可以与外部文件和程序进行通信。而在VB程序中,我们就是利用的Shockwave flash控件的FSCommand()过程来完成这一通信过程,实现信息发送的功能,并且根据发送出来的不同的命令及参数来实现对VB.net程序的控制。
明白了吧?简单的说,我们就是利用Flash中的FSCommand()函数向VB发送命令,利用Shockwave Flash控件来接受这个命令,从而达到Flash控制VB.net程序的目的。
好了,现在知道了原理,我们就一步一步来实现吧!
1. 首先要打开Flash制作一个交互按钮,并在按钮上面加上如下代码:
on (release) {
fscommand ("Send Action");
//发送Send Action这个命令
}
这个命令的作用是当按下按钮后Flash向VB发送出名为”Send Action”的命令。当然,这个命令的名字在实际应用中可以叫做其他的任何名字。
2. 将Flash导出成为swf文件,如文章第一部分所述插入到VB.net中,下面就是VB.net怎么接受这个命令的事情了;
3. 在窗体上双击Shockwave Flash控件,进入ShockwaveFlash1_FSCommand事件中,在此事件中加入:
If e.command = "Send Action" Then
MsgBox("Flash与VB.net成功结合了!", vbApplicationModal, "成功了!")
'当接到Send Action命令的时候
'这里加入你需要的程序
End If
其中,ShockwaveFlash1_FSCommand这个过程是专门用来接收Flash发送的FSCommand命令的,其中第一个参数command就是与Flash发送过来的命令相对应的,当其一致的时候,则执行后面的程序(本例中是弹出MsgBox)。