VB制作动画的方法
衡阳县职业中专 廖金星
html动画效果VB提供了制作动画的机理和功能,非专业人员也可以用VB轻而易举地制作动画,下面笔者就谈谈使用VB6.0企业版制作动画的方法。
制作动画的原理就是在窗体上显示一幅图形,紧接着清除它,再显示第二幅图形,如此交替下去,只要两相邻图片显示的时间间隔足够短(每秒钟24以上幅图形),利用人眼的视觉效应,就可以产生动画效果。依据动画制作过程中控件属性的变化情况,可将VB中动画制作方法分为以下几种。
一、 一、 移动控件:在程序设计中,按一定规律更改控件的位置坐标left 、top属性或对控件调用Move方法,可使控件发生相对于窗体的运动,从而呈现出动画效果,如:运行下面的语句就可以看到label1控件中的文字在窗体内呈滚动字幕效果。
Label1.caption=”Welcome you!”
For I=1 to 10000
Label1.left=(label1.left+10) ModscaleWidth
`使控件位置发生变化
Next I
二、切换图形:在程序设计中,通过更改控件的Picture 属性,使程序在一定的时间间隔内连续显示一定数量的只有细微差别的图片,亦可产生动态效果,如在程序中使用两个有差别的飞行过程中的蝴蝶位图:(如下图所示,它们在C:\Program Files\Microsoft Visual Studio\msdn98\98vs\2052\sample\vb98\vcr目录下,现已将它们复制到c:\下)
图1 飞行中的蝴蝶的两个位图
通过计时器控件的控制,交替地将两个位图显示在一个图片框中,就可以实现蝴蝶飞行的动画效果。具体来讲,须在窗体Form1中添加一个定时器控件Timer1和一个图像控件(Image1),其中Timer1的 Interval属性值为180 ,Imagel 的Appearance属性值为 0-Flat ,Bordstyle 属性值为0-none,程序代码如下:
Private Sub Timer1-Timer( )
Static count
If count=2 Then count=0
`根据count值的变化而加载不同的仅有细微差别的蝴蝶位图
If count=0 Then
`载入蝴蝶位图图片
Image1.Picture=LoadPicture(”c:\bfly1.bmp”)
Else
`载入另一幅蝴蝶图片
Image1.Picture=LoadPicture(“c:\bfly2.bmp”)
Endif
Count=count+1
End sub
三、 三、 移动控件与图片切换相结合
在程序设计过程中,既改变控件相对于窗体的位置,又使控件中的图片在一些只有细微差别的图片间切换,可实现动感很强的动画效果。在上例中的蝴蝶飞行动画由于只采用图片切换方法,而没有将控件位置改变,故蝴蝶只能在原地振翅,若将程序代码作如下改变,引进移动控件的方法,可使蝴蝶按余弦曲线飞行:
Private Sub Timer1-Timer( )
Static count , Pos As integer
If count=2 Then count=0
`使Image1的位置按余弦曲线的规律发生变化
Image1.Top=cos(Pos/4)*1000+1000
Image1.left=Pos
`根据count值的变化而加载不同的仅有细微差别的蝴蝶位图
If count=0 Then
`载入蝴蝶位图图片
Image1.Picture=LoadPicture(”c:\bfly1.bmp”)
Else
`载入另一幅蝴蝶图片
Image1.Picture=LoadPicture(“c:\bfly2.bmp”)
Endif
Pos=(Pos+200) Mod Scalewidth
Count=count+1
End sub
以上就是VB制作动画的基本方法,读者可依此制作一些简单的动画,当然在VB中还可以使用其它方法制作动画,如利用动画按钮控件或调用API函数,有兴趣的读者可参考相关书目。
作者:廖金星
地址:湖南省衡阳县职业中专
邮编:421200
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论