flash动画播放器.doc_第1页
flash动画播放器.doc_第2页
flash动画播放器.doc_第3页
flash动画播放器.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

是MacroMedia公司出品的矢量动画创作专业软件,利用该软件制作的矢量动画具有文件体积小、带音效和兼容性好等特点。那么,你想不想在自己编写的程序中加入Flash动画,为自己的程序添加一道亮丽的色彩呢?一、编程原理本程序利用了Flash4本身自带播放Flash动画的控件Swflash.ocx。你可以通过以下途径获得该控件:1、安装Flash4;2、安装Windows98自带的Flash插件,方法:依次单击“开始”菜单“设置”“控制面板”“添加/删除程序”“Windows安装程序”“多媒体”“详细资料”选中“MacromediaShockwaveFlash”前的复选框确定即可。以上方法都会将该控件安装到Windows目录下的SystemMacromedFlash子目录下。二、示例程序下面就是一个用Swflash.ocx控件编写的Flash动画播放器。本程序可一次打开多个Flash动画文件,并可在播放过程中选择播放打开的文件、随时改变播放质量、画面大小等状态;在播放过程中可以随时对播放的当前帧数进行调整或者手动进行逐帧播放,在状态栏里有当前播放状态的相关说明。在实现以上功能时,几乎用全了Swflash.ocx控件的主要属性、方法。编程过程如下:1、窗体、界面设计。新建工程,选择“工程”菜单下的“部件”命令,在“部件”窗口的“控件”列表中将“Shockwaveflash”、“MicrosoftCommonDialogControl6.0(SP3)”、“MicrosoftWindowsCommonControl6.0(SP3)”前的复选框选中,然后确定。再在窗体中分别加入1个CommonDialog控件、1个Slider控件、3个Label控件、6个CommandButton控件和1个StatusBar控件。其中:将Form1的“Caption”属性设置为:Flash动画播放器。这是控制窗口。将CommonDialog1的CancelError设置为True,DialogTitle设置为“打开Flash动画文件”,Filter属性设置为“Flash动画(.swf)|.swf|”,FilterIndex设置为1,MaxFileSize设置为10240。将Slider1的SelectRanger的属性设置为“True”,SmallChange属性和LargeChange属性设置为10,TickFrequengcy属性设置为20,TextPosition设置为“1SldBelowRight”。将Label(13)分别放在Slider1下的左端、中间和右端。其中,Label1的Caption设置为“0帧”,Label2和Label3的Caption设置为空字符串。6个CommandButton的“名称”属性分别为:cmdOpen、cmdPlay、cmdPause、cmdPRe、cmdPreFrame、cmdNextFrame、cmdNext、cmdExit,“Caption”属性分别为:打开、播放、暂停、上一个、上一帧、下一帧、下一个、退出。在StatusBar上单击鼠标右键,选择“属性”,从弹出的窗口中选择“窗格”页面,用鼠标点击“插入窗格”5次,在索引15中分别设置“文本”属性为:“共打开了0个文件”、“状态:”、“等待”、“帧数:”、“0”,再适当设置每一项的“最小宽度”的属性(可参考图1中的比例)。进入菜单编辑器(按快捷键CtrlE)。设置第一个菜单标题为“显示控制”,名称为:mnuDisplay;在“显示控制”下设立子菜单标题分别为“全部显示”、“随窗口大小变化”、“缩放至窗口大小”,名称分别为:mnuDisplay0、mnuDisplay1、mnuDisplay2。设置第二个菜单标题为“质量控制”,名称为:mnuQuality;在“质量控制”下设立子菜单标题分别为“低分辨率”、“高分辨率”,名称分别为:mnuQuality0、mnuQuality1。设置第三个菜单标题为“播放控制”,名称为:mnuPlayControl;在“播放控制”下设立子菜单标题分别为“循环播放”、“放大画面”、“缩小画面”,名称分别为:mnuLoopPlay、mnuZoomIn、mnuZoomOut。选择“工程”菜单下的“添加窗体”命令,新增一个窗体Form2作为播放窗口。在Form2上加入1个ShockwaveFlash控件和1个Timer控件。将Timer1控件的“Interval”属性设置为“20”。最后,对各窗体、控件的大小、位置进行适当的调整,其大小、位置可参考图1。2、程序代码第一步:在Form1的代码窗口中添加以下代码:DimFileNames()AsString注释:用于保存打开的文件名称。DimPlayFileNumAsInteger注释:用于计算正在播放的文件序号。DimTotalFileAsInteger注释:用于统计打开的文件总数。PrivateSubcmdOpen_Click()注释:打开OnErrorGoToExitOpenCommonDialog1.Flags=cdlOFNAllowMultiselectOrcdlOFNFileMustExistOrcdlOFNExplorerCommonDialog1.FileName=CommonDialog1.ShowOpen注释:显示“打开”对话框。注释:以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName。FileNames()=Split(CommonDialog1.FileName,vbNullChar)IfUBound(FileNames)=0Then注释:用户只打开了一个文件。Form2!ShockwaveFlash1.Movie=FileNames(0)TotalFile=1PlayFileNum=0Else注释:用户打开了多于一个文件。Form2!ShockwaveFlash1.Movie=FileNames(0)FileNames(1)TotalFile=UBound(FileNames)PlayFileNum=1EndIfStatusBar1.Panels(1).Text=共打开了Trim(Str(TotalFile)个文件cmdPlay_ClickExitOpen:EndSubPrivateSubcmdPlay_Click()注释:开始播放IfTotalFile1ThenExitSub注释:用户还没有打开文件。注释:显示Form2开始播放动画。Form2.Caption=FileNames(PlayFileNum)Flash动画播放器Form2.ShowForm2!ShockwaveFlash1.Playing=TrueIfTotalFile=1ThenPlayFileNum=0注释:显示状态条的信息。StatusBar1.Panels(3).Text=正在播放文件:FileNames(PlayFileNum).注释:显示滑动条的状态。Slider1.Max=Form2!ShockwaveFlash1.TotalFramesLabel2.Caption=Str(Slider1.Max/2)帧Label3.Caption=Str(Slider1.Max)帧EndSubPrivateSubcmdPause_Click()注释:暂停播放Form2!ShockwaveFlash1.StopEndSubPrivateSubcmdPre_Click()注释:播放上一个文件IfTotalFile1Then注释:当用户打开多于一个文件时PlayFileNum=PlayFileNum1IfPlayFileNum1ThenPlayFileNum=TotalFileForm2!ShockwaveFlash1.Movie=FileNames(0)FileNames(PlayFileNum)EndIf注释:显示播放状态的信息。StatusBar1.Panels(3).Text=正在播放文件:FileNames(PlayFileNum).Slider1.Max=Form2!ShockwaveFlash1.TotalFramesForm2.Caption=FileNames(PlayFileNum)Flash动画播放器Label2.Caption=Str(Slider1.Max/2)帧Label3.Caption=Str(Slider1.Max)帧EndSubPrivateSubcmdNext_Click()注释:播放下一个文件IfTotalFile1Then注释:用户打开多于一个文件时PlayFileNum=PlayFileNum1IfPlayFileNumTotalFileThenPlayFileNum=1Form2!ShockwaveFlash1.Movie=FileNames(0)FileNames(PlayFileNum)EndIf注释:显示播放状态的信息。StatusBar1.Panels(3).Text=正在播放文件:FileNames(PlayFileNum).Slider1.Max=Form2!ShockwaveFlash1.TotalFramesForm2.Caption=FileNames(PlayFileNum)Flash动画播放器Label2.Caption=Str(Slider1.Max/2)帧Label3.Caption=Str(Slider1.Max)帧EndSubPrivateSubcmdPreFrame_Click()注释:跳到动画的上一帧Form2!ShockwaveFlash1.BackEndSubPrivateSubcmdNextFrame_Click()注释:跳到动画的下一帧Form2!ShockwaveFlash1.ForwardEndSubPrivateSubcmdExit_Click()注释:退出程序EndEndSubPrivateSubSlider1_Scroll()注释:当用户拖动滑动条时,将播放帧数设置为滑动条中的值。Form2!ShockwaveFlash1.FrameNum=Slider1.ValueEndSubPrivateSubmnuDisplay0_Click()注释:将画面大小设置为在控件内保持动画原来比例全部显示Form2!ShockwaveFlash1.ScaleMode=0mnuDisplay0.Checked=TruemnuDisplay1.Checked=FalsemnuDisplay2.Checked=FalseEndSubPrivateSubmnuDisplay1_Click()注释:将画面的缩放设置为随控件横向(或纵向)的缩放而变化Form2!ShockwaveFlash1.ScaleMode=1mnuDisplay0.Checked=FalsemnuDisplay1.Checked=TruemnuDisplay2.Checked=FalseEndSubPrivateSubmnuDisplay2_Click()注释:将画面大小设置为不理会动画原来比例缩放至控件大小Form2!ShockwaveFlash1.ScaleMode=2mnuDisplay0.Checked=FalsemnuDisplay1.Checked=FalsemnuDisplay2.Checked=TrueEndSubPrivateSubmnuLoopPlay_Click()注释:将播放方式设置为循环或不循环。mnuLoopPlay.Checked=NotmnuLoopPlay.CheckedForm2!ShockwaveFlash1.Loop=NotForm2!ShockwaveFlash1.LoopEndSubPrivateSubmnuQuality0_Click()注释:将画面质量设置为低分辨率Form2!ShockwaveFlash1.Quality=0mnuQuality0.Checked=TruemnuQuality1.Checked=FalseEndSubPrivateSubmnuQuality1_Click()注释:将画面质量设置为高分辨率Form2!ShockwaveFlash1.Quality=1mnuQuality0.Checked=FalsemnuQuality1.Checked=TrueEndSubPrivateSubmnuZoomIn_Click()注释:放大画面。Form2!ShockwaveFlash1.Zoom(50)EndSubPrivateSubmnuZoomOut_Click()注释:缩小画面。Form2!ShockwaveFlash1.Zoom(200)EndSubPrivateSubForm_Unload(CancelAsInteger)End注释:结束程序EndSub第二步:在Form2的代码窗口中添加以下代码:PrivateSubForm_Resize()注释:将ShockwaveFlash1控件的大小设置为Form2的大小。ShockwaveFlash1.Top=Form2.ScaleTopShockwaveFlash1.Left=Form2.ScaleLeftShockwaveFlash1.Width=Form2.ScaleWidthShockwaveFlash1.Height=Form2.ScaleHeightEndSubPrivateSubTimer1_Timer()注释:在状态栏和滑动条上显示当前播放的帧。Form1!StatusB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论