VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 汇编语言 >
  • c语言入门之在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一样“动感十足”。 

相关教程