VB在实现图形动画方面,有其独到之处,下面笔者就谈谈使用VB3.0专业版实现图形动画的三种方法。
动画由两个基本部分组成。一是物体相对于屏幕的运动,即屏幕级动画;二是物体内部的运动,即相对符号的动画。制作动画的原理就是画完一幅图形,清除它的屏幕显示部分,再在新位置画第二幅图形,如此交替下去,利用人眼的视觉效应,就可以产生动画效果,VB实现动画的原理也如此,但VB它不要求编程人员详细了解图形如何再现和清除,这些工作由VB提供的工具来做,这样就使VB实现动画很方便,编程也很简捷。
1.控制的移动。采用控制的移动技术可实现屏幕级动画,而控制移动方式又可分两种:一是在程序运行过程中,随时更改控制的位置坐标Left、Top属性,使控制出现动态;二是对控制调用MOVE方法,产生移动的效果。这里的控制可以是命令按钮、文本框、图形框、图像框、标签等。
2.利用动画按钮控制。VB的工具箱中专门提供了一个动画按钮控制(AnimatedButtonControl)进行动画设计,该工具在Windows\system子目录下以Anibuton.vbx文件存放,用时可加入项目文件中,这种方法实现动画的过程与电影胶片的放映极为相似,它将多幅图像装入内存,并赋予序号,通过定时或鼠标操作进行图像的切换,通过这种方法可实现相对符号的动画。此控制的有关属性介绍如下:
(1)Picture和Frame属性:Pieture属性可装入多幅图像,由Frame属性作为控制中多幅图像数组的索引,通过选择Frame值来指定访问或装入哪一幅图像,这里Picture属性可装入.bmp、.ico和.wmf文件。
(2)Cycle属性:该属性可设置动画控制中多幅图像的显示方式
(3)PictDrawMode属性:该属性设置控制的大小与装入图像大小之间的调整关系。
(4)Speed属性:表示动态切换多幅图的速度,以毫秒(ms)为单位,一般设置小于100范围内。
(5)Specialop属性:该属性在程序运行时设置,与定时器连用,来模拟鼠的Click操作,不需用户操作触发,而由系统自动触发进行动态图的切换。
3.利用图片剪切换控制。该控制也提供了在一个控制上存储多个图像或图标信息的技术,正如用动画按钮一样,它保存Windows资源并可快速访问多幅图像,该控制的访问方式不是依次切换多幅图,而是先将多幅图放置在一个控制中,然后在程序设计时利用选择控制中的区域,将图动态剪切下来放置于图片框中进行显示,程序控制每间隔一定时间剪切并显示一幅图,这样便可产生动画效果。该工具以Picelip.vbx文件存于Windows\system子目录中,需要时可装入项目文件中。此控制有关属性介绍如下:
(1)RowsCols属性:规定该控制总的行列数。
(2)Picture属性:装入图像信息,仅能装入位图.bmp文件。
(3)ClipX、ClipY属性:指定要剪切图位于控制中的位置,左上角坐标。
(4)ClipWidth、ClipHeight属性:表示需剪切图的大小,即指定剪切区域。
(5)Clip属性:设计时无效,执行时只读,用于返回(3)、(4)两项指定的图像信息。
(6)Grahiceell属性:该属性为一个数组,用于访问Picture属性装入图像中的第一个图像元素。
(7)StretchX、StretchY属性:设计时无效,执行时只读,在将被选中图像装入拷贝时定义大小显示区域,单位为像素(Pixcls)。
以上笔者只谈了VB实现图形动画的基本方法,有兴趣的读者可参考有关书目。
->