admin 管理员组

文章数量: 1086019


2024年3月10日发(作者:web前端开发html模板)

维普资讯

70 

第25卷第6期 

凯里学院学报 

Journal of Kaili University 

Vol|25 NO.6 

Dec.2007 

2007年J 2月 

基于VB时钟控件的动画制作方法 

肖 荣 

(凯里学院数学与计算机科学系,贵州凯里556000) 

[摘 要]vB作为一种易学易用的可视化编程工具.提供了丰富的图形处理功能,在动画设计方面有其独到的一面 

本文就基于VB时钟控件(Timer)的动画制作方法件(Timer)作一介绍. 

[关键词]VB;时钟控件;动画 

[中图分类号]TP314 [文献标识码]A[文章编号]1673—9329(2007)06—0070—02 

VB作为一种易学易用的可视化编程工具.在动画设 

计方面有其独到的~面、时钟(Timer)控件是VB中一个非 

常重要的控件.它能有规律地以一定的时间间隔激发计时 

器事件(Timer).而执行相应的程序代码.灵活运用VB时 

钟控件,结合VB提供的图形处理功能和其它控件,能产生 

非常丰富的动画效果. 

1 闪烁动画效果 

For r 10 I'o 65 Step 3 

Circle(z, ),r.QBColor(Int(5*Rnd+10)) 

z=:z+8 

y—y~l 

Next r 

End Sub 

闪烁的文字和图形可以在屏幕上起到明显的提示作 

用.通过使用VB的 I'imer控件,可以轻松实现闪烁字幕以 

及闪烁图形的动画效果. 

1|1 三维闪烁字幕 

2 滚动动画效果 

网页中的多帧图象滚动和字幕滚动.为我们浏览网页 

带来了方便.VB同样能制作出这样的动画效果. 

2.1 字幕滚动 

设置一个lable对象.一Timer对象.且Interval一30, 

通过在Timer事件过程中.处理lable对象的位置移动,实 

现字幕的滚动.主要程序如下: 

Private Sub Timerl

Timer() 

设置一Timer对象,通过在Timer事件过程中,用循环 

输出多层次、位置和颜色不同的文字,每400 ms触发一次 

(即Interval=400),从而产生三维文字闪烁效果.主要程序 

如下: 

Private Sub Fimerl

Timer() 

Dim mleft 

Label1.Caption “欢迎使用VB6.0” 

Label1.Move Label1.Left~2O 

If Label1.Left<一~5 000 Then 

mleft 800 

Din1 i 

Cls 

For J=l To 8 

Current X一600+

(:urrent Y:600+

6*i 

10*i 

Label1.Left—mleft 

End If 

End Sub 

ForeColor:QBColor(Int(5 

Print“VB程序设计” 

Next i 

2.2 多帧图像滚动 

设置一个Image对象数组.一Timer对象,且Interval 

Erl(1 Sub 

20.通过在Timer事件过程中。同时处理Image对象数组 

Image对象时.停止滚动,再单击又继续滚动.主要程序 

1.2 闪烁螺旋环 

中图像的位置移动.就能实现多帧图像的滚动.当单击任意 

如下: 

Dim i%, As Boolean 

Private Sub Form

Load() 

_

在上述程序的 I'imer事件过程中,当用循环输出的是 

组圆心位置、半径和颜色都发生变化的圆时,产生的就是 

闪烁螺旋环效果.主要程序如下: 

Prixrate Sub Timer1Timer() 

Scale(0,200)一(300,O) 

Dim X ,Y .r 

z一35 

Y=11O 

For l TO 3 

Load Image1(i) 

Imagel( ).Left 

Width 

Imagel(i—1).Left+Image1(i—1). 

DrawWidth:】.5 

[收稿日期]2007—05—3t 

[作者简介]肖 荣(1962一),女,贵州凯里人,凯里学院数学与计算机科学系副教授 

维普资讯

第6期 

t一 l rue 

肖 荣:基于VB时钟控件的动画制作方法 

PSet(X,Y)。QBColor(0) 

7l 

Next 

PSet(m(j,0)。m(j,1)),RGB(女,k,女) 

Next J 

Next 

Imagel(O)一LoadPicture(App.Path+”\m(O).jPg”) 

Imagel(1)一LoadPicture(App.Path+”\m(1).jPg”) 

Image1(2)=LoadPicture(App.Path+”\m(2).jpg”) 

Imagel(3)一LoadPicture(App.Path+”\m(3).jPg”) 

End Sub 

Private Sub Timer1

Timer() 

End Sub 

4.1 缩放图像 

设置一个Image对象,一个Timer对象,且Interval= 

200,通过在Timer事件过程中.改变Image对象的Width 

For 一0 To 3 

Imagel( ).Move Imagel( ).Left一30 

Next 

If Image1(1).Left<一一3 000 Then 

X一300 

For 一0 To 3 

Imagel( ).Left—X+Imagel( ).Width*i 

Next i 

End If 

End Sub 

Private Sub Imagel—Click(Index As Integer) 

If t Then 

Timer1.Enabled—t 

t False 

Else 

Timer1.Enabled—t 

t—True 

End If 

End Sub 

3 动画景象效果 

满天飘飘的大雪.是人们最难忘的景色.VB也能在屏 

幕上为我们制作出这样的情景.它的方法是设置一Timer 

对象,且interval—l,通过在Timer事件过程中。首先在底 

为黑色的窗体上随机画出许多白点(雪花),然后使这些雪 

花不断地向下移动,反复循环,就成功地模拟了下雪的景 

象,主要程序如下. 

Dim D.I!(450,2), ,i 

Private Sub Form_Load() 

Randomize 

n一450 

For/一l To 

m( ,O):Rnd*Form1.Width 

m(i,1)一Rnd*Form1.Height 

m( ,2):10+(Rnd*20) 

Next 

End Sub 

Private Sub Timer1

Timer() 

Dim %,k 

For —l To 15 

For —l To 

X—m( ,O) 

Y一 £( ,1) 

m(j.1)一m(j,1)+m(j,2) 

If m(j,1)>Form1.Height Then 

m( ,1)一0 

m( ,2)一5+(Rnd*3O). 

End If 

DrawWidth一2 

k=50+8*( ( ,2)一10) 

和Height属性。实现图像缩放.主要程序如下: 

Option Explicit 

Dim W,H 

Dim X%,Y 

Private Sub Form Load() 

W—Image1.Width 

H—Image1.Height 

X—l00 

Y—l00 

End Sub 

Private Sub Timerl

Timer() 

Image1.Move Image1.Left—X/2,Image1.Top—Y/ 

2,一 

Image1.Width+X,Image1.Height+Y 

If Image1.Left+Image1.Width>一Form1.Widtn Or— 

Image1.Top+Image1.Height>一Form1.Height Or

— 

Image1.Left<=0 Or Image1.Top<=0 Then 

x一一x 

Y一——Y 

End If 

If Image1.Width<一W Or Image1.Height<一H Then 

x一一x 

Y一——Y 

End If 

End Sub 

4.2 缩放文字 

设置一个lable对象,一个Timer对象.Interval一300, 

通过在Timer事件过程中,处理lable对象中字号的大小, 

就可实现文字的缩放.程序如下: 

Private Sub Timerl—Timer() 

If Label1.FontSize<一45 Then 

I abel1.FontSize—Label1.FontSize+5 

Else 

Label1.FontSize一15 

End If 

End Sub 

如果要停止以上的各类动画效果,只需设置Timer1. 

Enabled—False.以上程序都已经过VB6.0调试运行通 

过. 

参考文献: 

[1]龚沛曾等.Visual Basic程序设计简明教程[M].北京;高等教 

育出版社,2001. 

[23苏瑞等.Visual Basic开发实用编程200例[M].二f匕京:中国铁 

道出版,2006. 

[3]伍俊良.Visual Basic课程设计与系统开发案例[M].北京;清 

华大学出版社,2002. 

[责任编辑:盂立霞] 


本文标签: 动画 滚动 效果 闪烁 编程