• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 教育教学 > 正文

    基于.NET平台的Flash应用集成开发

    时间:2020-09-18 07:59:15 来源:达达文档网 本文已影响 达达文档网手机站

    提要本文介绍了基于.NET平台的Flash动画的集成开发方法,以实例说明利用Flash ActiveX如何实现基于.NET平台与Flash的多媒体应用程序集成开发。

    关键词:Flash;多媒体;集成开发

    中图分类号:TP31文献标识码:A

    一、引言

    Flash是Macromedia公司最新推出的动画制作软件。Flash主要功能是制作发布在网上的动画,但现在也越来越多地应用于多媒体领域,Flash MX作为动画制作软件,具有简单易学、开发效率高等特点,作为多媒体设计软件方面,可以方便地设计出具有良好交互的多媒体前端应用程序;另一方面,大型的多媒体应用需要访问数据库等较为底层的操作,这时仅仅使用Flash MX进行开发就有些吃力。这里给出结合.NET平台与Flash MX一起进行开发大型多媒体应用程序的方案,既可以设计出漂亮的界面,又可以实现强大的功能。

    二、在.NET平台上与FLASH MX动画进行交互的方法

    网页中之所以能够显示FLASH动画,是因为浏览包含FLASH动画网页的时候,浏览器一般会在本地安装Shockwave Flash控件。这是Macromedia公司提供的一个ActiveX控件,而.NET平台对ActiveX控件具有很好的支持。我们只要找到Shockwave Flash控件,就可以在.NET平台中加入FLASH动画。动画的加入只是第一步,接下来我们可以通过以下几种方法在.NET平台中与FLASH动画进行交互:

    1、应用程序通过Shockwave Flash控件的一些方法和属性来控制Flash动画的播放以及获取或设置播放器的属性。这是Shockwave Flash控件对动画的基本控制。主要的属性和方法如下:

    ●Movie:指定播放的Flash文件路径,可以为一个URL;

    ●Menu:是否显示控制菜单;

    ●Loop:是否循环;

    ●Quality:指定当前渲染的质量;

    ●ReadyState:读一个Flash文件时的状态,其中包括0=Load2ing,1=Uninitialized,2=Loaded,3=Interactive和4=Complete;

    ●Play():开始播放指定的Flash动画;

    ●Stop():停止播放动画;

    ●Back():播放前一帧动画;

    ●Forward():播放后一帧动画;

    ●Rewind():播放第一帧动画;

    ●Zoom(Percent as Integer):按百分比缩放;

    ●GotoFrame(FrameNum as Long),将播放头移到指定帧。

    有了这些属性和方法,我们就可以在.NET平台下控制Flash动画的状态。

    2、反过来,如何在嵌入的Flash动画中控制.NET平台下的应用程序从而实现交互式的操作呢?首先我们来了解Flash中控制.NET平台应用程序的基本原理:在Flash的ActionScript里面有个叫做FSCommand()的函数,它的主要功能就是发送FScommand命令,例如使动画全屏播放,隐藏动画菜单。首先来看FScommand命令的格式:

    fscommand("command","parameters")

    在.NET平台应用程序中,我们就是利用的Shockwave flash控件的FSCommand()过程来完成这一通信过程,实现信息发送的功能,并且根据发送出来的不同命令及参数来实现对程序的控制。

    可以看到,不仅可以在.NET平台应用程序里播放控制Flash作品,而且还可以在Flash动画中编写Action脚本代码来控制.NET平台应用程序的运行。由此,实现了.NET平台应用程序与Flash动画之间的完全交互和集成开发。

    三、具体应用细节

    第一步,制作Flash动画。此步利用FlashMX强大的设计工具,任意设计制作一个多媒体动画。

    第二步,在VS.NET中控制Flash的播放。打开VS.NET,打开新建项目窗口,左边“项目类型”中选择“Visual C#”项目,右边“模板”中选择“Windows应用程序”,输入项目名称,然后确定。在“工具箱”中点开组件页,单击右键,选择“添加/移除项”,即打开“自定义工具箱”,再点击“COM组件”页面,从中选择“Macromedia Flash Factory Object”,如果没有这一项,可点击“浏览”按钮后再系统中查找Flash.ocx文件(如果系统为win2003,请在“C:\WINNT\system32\Macromed\Flash”目录下找到该文件)。

    添加完Flash的COM组件后,工具箱中的组件页面下就会出现“Macromedia Flash Factory Object”和“Shockwave Flash Object”两个控件。在主窗体上建一个“Shockwave Flash Object”控件,名字为axShockwaveFlash1。在窗体的Load事件里面添加下面代码:

    axShockwaveFlash1.Loop=false;

    axShockwaveFlash1.Movie=Application.StartupPath+@"\maopao.swf";

    axShockwaveFlash1.Play();

    这几行代码规定主窗体启动后马上加载指定的Flash动画文件并播放。如果有需要,可参考本文第二部分罗列出来的属性与算法,对此控件进行进一步的控制。

    第三步,利用Flash控制应用程序的运行状态。在第一步中的Flash动画中可以加入一个按钮,设置其执行动作如下:

    on(release){fscommand("ok");}

    当按下按钮后,此Flash向应用程序发送出名为“ok”的命令。

    回到VS.NET环境中,在应用程序中的InitializeComponent方法中添加以下代码:

    private void InitializeComponent()

    {

    ……

    this.axShockwaveFlash1.FSCommand+=new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(this.axShockwaveFlash1_FSCommand);

    ……

    最后添加如下事件处理程序:

    private void axShockwaveFlash1_FSCommand(object sender,AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvente)

    {

    if(e.command=="ok")

    {

    MessageBox.Show("应用程序接受Flash动画信息成功!");

    this.BackColor=Color.Blue;

    通过以上处理Flash动画传递的FSCommand函数中的信息,我们就可以在应用程序中相应Flash动画的命令。上面的例子中点击相应按钮,则会在应用程序中出现一个对话框,然后改变应用程序的背景颜色。

    利用Flash可以制作出画面细腻,色彩艳丽的动画作品,如果再将其与强大的.NET平台相结合,可以制作出更加功能复杂的多媒体应用程序。

    (作者单位:南阳市体育运动学校)

    主要参考文献:

    [1]韩春红,薛涛.基于VB.NET多媒体Flash播放器的实现.中国校外教育(理论),2008.3.

    [2]谢富平.基于FLASH技术的网络多用户媒体播放控件的研究与实现.丽水学院学报,2009.2.

    相关热词搜索: 集成 开发 平台 net FLASH

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网