首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

在C++Builder窗口中播放Flash

打印文章

分享到:
作者: 王东
  
Flash是Macromedia公司著名的平面动画制作软件,可以制作出优秀的作品,甚至有人利用Flask制作出电视节目。本文介绍一种方法,可以将Flash的动画作品加入到一般应用窗口中去。

1. 装入入ActiveX Control(SWFlash.OCX)。

准备工作:  

①用Flash 5.0 制作一个动画作品,作品名称为:a.swf,存放路径为:c:\cbb。

②用Windows“开始”菜单的“搜索”命令,确定swflash.ocx文件的位置,一般情况下Windows NT用户的路径是:Winnt\System32\ Macromed\Flash,对于Windows 98用户来说,其目录可能是:Windows\System\Macromed \Flash。

将SWFlash.OCX装入到C++ Builder系统环境中。

①启动C++ Builder窗口界面之后,选择菜单“Component”下的“Import ActiveX Control”命令条目。

②在“Import ActiveX”对话框中,单击“Add”按钮,目的是增加新的ActiveX Control。

③在“Register Ole Control”对话框中,把查找范围确定为:“Winnt\System32\ Macromed\Flash”,输入或选择文件“SWFlash.OCX”,单击“打开”按钮。到此,正常情况下“ShockWave Flash (Virsion 1.0)”就已经完成了登记。

④单击“Install”按钮,装入程序模块。

建立用户应用程序,引入“Flash”控件到窗口上。

①建立新应用程序,将工作目录(路径)定义为:c:\cbb。

②选取“ActiveX”标签上的“Flash”控件类型,将其拖放到“Form1”上,摆放位置参见图1,此时不包括“消失/出现”、“播放/暂停”等按钮。

③单击选中该Flash控件,查看其:name属性为:Flas1。再将其Movie属性设置为c:\cbb\a.SWF,要求和前面所述的a.swf文件一致,以确保程序能找到a.swf文件。

④按F9键或单击运行按钮,将可以看到程序运行情况。

2.属性控制和函数调用方法。

常规属性的修改,以Visible属性为例,制作“消失/出现”按钮。

① 在Form1上,安放Button按钮,并将Caption属性设置为:消失/出现。

② 双击“消失/出现”按钮,在 Button1Click(TObject *Sender)函数体中,输入程序脚本:Flash1->Visible=!Flash1->Visible。

③按F9键或单击运行按钮,将可以验证“消失/出现”按钮的功能。

修改Playing属性,制作“播放/暂停”按钮。

① 在Form1上,再安放一个Button按钮,并将Caption属性设置为:播放/暂停。

② 双击“播放/暂停”按钮,程序脚本如下:

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Flash1->Playing =! Flash1->Playing ;

}

③按F9键或单击运行按钮,将可以验证“播放/暂停”按钮的功能。

相同的方法,分别制作“放大”、“缩小”、“上移”和“下移”按钮,分别对应的脚本是:

Flash1->Zoom(50);

Flash1->Zoom(200);

Flash1->Pan(0,12,1);

Flash1->Pan(0,-12,1);

该程序最终执行情况如图1所示,以上各脚本均在C++Builder 5.0系统编译通过,并执行成功。








图1 包含Flas动画的程序



3.TShockwaveFlash主要属性、方法和事件列表。  

TShockwaveFlash主要属性:

ReadyState 读一个flash文件时的状态,其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete  

TotalFrames 总帧数,只有当ReadyState = 4时,能访问该属性  

FrameNum 当前播放的帧数  

Playing 播放或暂停一个flash  

Quality 指定当前渲染的质量,包括0=Low, 1=High、2=AutoLow、3=AutoHigh  

ScaleMode 缩放模式,0=ShowAll、1= NoBorder、2 = ExactFit  

AlignMode: 对齐模式,Left=+1、Right=+2、Top=+4、Bottom=+8  

BackgroundColor 背景色,-1为默认颜色  

Loop 是否循环播放  

Movie 指定播放的flash文件路径,可以为URL路径  



TShockwaveFlash主要方法(函数):

Play() 开始播放动画  

Stop() 停止播放动画  

Back() 播放前一帧动画  

Forward() 播放后一帧动画  

Rewind() 播放第一帧动画  

SetZoomRect(int left, int top, int right, int bottom) 设置缩放的区域  

Zoom(int percent) 按百分比缩放  

Pan(int x, int y, int mode) 缩放播放面板,其中模式0为按像数、1为按窗口百分比  



TShockwaveFlash主要事件如下:  

OnProgress(int percent) 读取一个flash时触发  

OnReadyStateChange(int state) 状态改变时触发。states的值可以为0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete。  



充分利用TShockwaveFlash主要属性、方法和事件,可以编制出多种具体Flash嵌入式应用程序。目前,动画处理已经成为应用程序商业化的基本条件,借助Flash 5.0给我们提供的动画技术,我们的应用程序将和Flash 5.0一样“动感十足”。 

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章