背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-41.html    注册17xie 一起来写书 实现您的出书梦想!

第六章  多媒体程序开发和应用

在当今计算机领域中,网络与多媒体技术已经成为人们生活的一部分,同时也是计算机领域中发展最为迅速的领域,多媒体编程的常用方法,已经成为程序员的必备技巧之一,所以笔者特地用一章的篇幅向读者介绍多媒体程序设计,其中包括动画程序制作,如何制作动画播放器等。

6.1  多媒体动画

图文并茂是多媒体程序的特点之一,在应用程序中适当的插入一些动画,会使应用程序变得生动、活泼,所以多媒体应用程序设计中动画程序设计是很重要的一部分内容。下面就通过一个示例程序向读者介绍Visual Basic 6.0中动画应用程序设计得一般方法和常用技巧,具体的程序设计步骤如下所示。

1.开始工作

首先用鼠标选择Windows操作系统“开始”菜单中的“程序”/Microsoft Visual Studio中的Microsoft Visual Basic 6.0选项来激活Visual Basic应用程序,在Visual Basic 6.0的集成开发环境中用鼠标选择“文件”菜单中的“新建工程”选项,在屏幕上就会弹出一个如图6-1所示的“新建工程”对话框。

6-1  “新建工程”对话框

在“新建工程”对话框中选择“标准EXE”选项,单击“确定”按钮,在Visual Basic 6中就新建了一个标准的工程文件,同时打开了一个空白的窗体。

窗体的属性设置如下所示:

Begin Visual Basic.Form Form1

         BorderStyle         =       3

         Caption      =       "播放动画"

         Icon  =       "Redtop.frx":0000

         MaxButton         =       0

         MinButton          =       0

         Moveable   =       0

         ScaleHeight         =       306

         ScaleMode =       3

         ScaleWidth =       459

         StartUpPosition  =       2

End

经过以上属性设置后的窗体具有如下所示的特性:

n         程序运行过程中,窗体位于屏幕的中央,并且用户不能够移动窗体;

n         窗体的标题栏中显示文本“播放动画”;

n         窗体的标题栏中没有最大化和最小化按钮,只有关闭按钮;

n         在程序运行的过程,用户不能够改变窗体的大小。

2.添加控件

在程序运行的过程中,为了能够显示动画,需要有显示容器,为此要向当前空白的窗体上添加两个PictureBox控件,同时向窗体上添加四个按钮控件、一个Timer控件、18Image控件、两个Label控件和两个TextBox控件,添加控件后的窗体如图6-2所示。

6-2  添加控件后的窗体

各个控件的作用如下所示:

n         Image控件:18Image控件组成一个控件数组,在其中存储了18幅图标文件,在程序运行的过程中,窗体的图标将会随着动画进程而改变;

n         两个Label控件:显示固定的文本“动画总桢数:”和“当前播放桢”;

n         四个CommandButton控件:在程序运行的过程中用于控制动画播放的进程,如播放、暂停和停止等;

n         两个TextBox控件:在程序运行的过程中,用于显示当前动画的总桢数和当前播放桢数;

n         两个PictureBox控件:在程序运行过程中充当动画显示的容器。

其中添加到窗体上的各个控件的属性设置如下所示:

   Begin Visual Basic.TextBox Text2

         Height        =       375

         Left   =       2640

         Text  =       "Text2"

         Top  =       4200

         Width         =       1095

   End

   Begin Visual Basic.TextBox Text1

         Text  =       "Text1"

         Top  =       3600

   End

   Begin Visual Basic.CommandButton Command3

         Caption      =       "结束运行"

         Height        =       510

         Left   =       4560

         Top  =       2520

         Width         =       1485

   End

   Begin Visual Basic.CommandButton Command2

         Caption      =       "停止播放"

         Top  =       1920

   End

   Begin Visual Basic.CommandButton Command1

         Caption      =       "暂停播放"

         Top  =       1320

   End

   Begin Visual Basic.CommandButton Command4

         Caption      =       "播放动画"

         Top  =       720

   End

   Begin Visual Basic.PictureBox Picture6

         Height        =       2325

         Left   =       840

         Top  =       720

         Width         =       2910

      Begin Visual Basic.PictureBox Picture1

         Appearance         =       0

         AutoSize    =       -1

         Height        =       1185

         Left   =       720

         Top  =       600

         Width         =       1305

      End

   End

   Begin Visual Basic.Timer Timer1

         Interval      =       10

         Left   =       5760

         Top  =       240

   End

   Begin Visual Basic.Label Label2

        Caption      =  "当前播放桢:"

   End

   Begin Visual Basic.Label Label1

        Caption      =  "动画总桢数:"

   End

   Begin Visual Basic.Image Image1

         Index        =   17

   End

   ……

   Begin Visual Basic.Image Image1

         Index         =   0

   End

经过以上属性设置后的控件具有如下所示的特性;

n         Picture1控件在程序运行的过程中能够根据图像文件的大小自动调节控件的尺寸来适应图像;

n         18Image控件组成一个控件数组Image1

n         Label1Label2控件能够根据其中文本的长度自动调节控件的尺寸来适应文本;

n         Picture2控件在程序运行的过程中充当Picture1控件显示的容器。

3.添加ActiveX控件

在本示例程序设计的过程中,需要用到两个ActiveX控件——Slider控件和PictureClip控件。为此,在程序设计的过程中,用鼠标左键单击菜单“工程”中的“部件”选项,在屏幕上就会弹出一个如图6-3所示添加ActiveX的对话框。

注意:

@        ActiveX控件是第三方程序开发商提供的“即取即用”控件,在Visual Basic 6.0的“工具箱”上没有,需要将它们调用出来。

6-3  “部件”对话框

在添加ActiveX控件的“部件”对话框中选择Microsoft PictureClip Control 6.0     Microsoft Windows Common Controls 6.0两个选项,单击“确定”按钮,程序就会自动的向当前的项目文件中添加了示例程序所需要的ActiveX控件,这两个ActiveX控件的声明如下所示:

Object = "{27395F88-0C0C-101B-A3C9-08002B2F49FB}#1.1#0"; "PICCLP32.OCX"

Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"

在程序设计的过程中,向当前空白的窗体上添加一个Slider控件和一个PictureClip控件,它们的属性设置如下所示:

   Begin MSComctlLib.Slider Slider1

         Height        =       375

         Left   =       600

         Top  =       3120

         Width         =       3255

         LargeChange        =       3

         Max  =       17

   End

   Begin PicClip.PictureClip PictureClip2

         Left   =       960

         Top  =       0

         Rows         =       3

         Cols  =       6

   End

说明:

其中添加ActiveX控件的方法与添加普通控件的方法一样,在“工具箱”上用鼠标双击相应的ActiveX控件图标即可。

添加ActiveX控件后的窗体如图6-4所示。

6-4  添加ActiveX控件后的窗体

添加到窗体上的两个ActiveX控件的作用如下所示:

n         Slider控件:在程序运行的过程中动态的显示动画播放进程,而且用户还可以通过滚动条来调节动画播放进程;

n         PictureClip控件:在控件中存储了18幅图像,在程序运行的过程中通过调用这18幅图像来显示动画。

其中PictureClip控件可以通过如图6-5所示的对话框来设置。

6-5  PictureClip控件属性设置

4.程序初始化

在本示例程序中,所谓程序初始化,指的就是为窗体Private Sub Form_Load()事件所添加的响应代码。

在程序设计的过程中,用鼠标左键双击窗体上的空白处,在屏幕上就会弹出一个空白的代码窗口,在代码窗口的事件列表中选择窗体Form,在对应的事件列表中选择事件Private Sub Form_Load(),把光标移动到事件的处理过程中,并且添加如下所示的事件响应代码:

Private Sub Form_Load()

Picture1.Picture = PictureClip2.GraphicCell(0)

y = 0

Picture1.Left = (Picture6.ScaleWidth - Picture1.Width) / 2

Picture1.Top = (Picture6.ScaleHeight - Picture1.Height) / 2

Text1.Text = PictureClip2.Cols * PictureClip2.Rows

Text2.Text = 0

End Sub

在程序运行的初期,事件Private Sub Form_Load()中的代码就会被执行,程序通过Picture1.Picture = PictureClip2.GraphicCell(0)语句来显示第一桢动画,然后通过两条语句来设置图像控件的显示位置,在程序初始化的最后,通过语句Text1.Text = PictureClip2.Cols * PictureClip2.RowsText2.Text = 0完成对文本框控件中文本的初始化。

经过程序初始化后的运行窗体如图6-6所示。

6-6  经过程序初始化后的运行窗体

5.响应计时器事件

窗体上的Timer控件在程序运行的过程中充当计时器,即每隔一定的时间就自动的重复某一个动作。在本示例程序中,用于动画的显示要不断的从图像文件中读取信息,所以要利用计时器。

计时器控件的属性设置如图6-7所示。

6-7  计时器控件的属性设置


字数:11839    最后更新:1年以前 [08-29 13:42]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第五章  [后一页]:第六章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号