将Timer的Interval属性设置一定时间间隔,Timer便每隔一定时间产生一次动作。若在屏幕上快速地显示一组相关的图像,就实现了动画。因此,实现动画的基础是图像的显示和使图像快速、定时地移动和变化。这就是VB中动画的实现方法。滚动字幕、喷泉、飞翔的小鸟、交通红绿灯等就可以用VB做出来了。其实道理明白了,写代码很简单,会用到command按钮或选择结构来控制图片的显示和隐藏, 其中有一点细节问题,就是说这样的动画其实可以根据image是否移动分为两种,写代码时需要稍微思索一下。
例题中“喷泉”的部分代码是这样写的:
PrivateSub Form_Load()
Image2.left= (Frm1.WIDth - Image2.left) / 2
Image2.top= (Frm1.ScaleHeight - Image2.Height) / 2
End Sub
初始化完成后,image2位置不变,每隔一定时间赋值给image2一张图片
SelectCase i
Case 0
Image2.Picture = Image1(1).Picture
Image1(1).left = Image2.left
Image1(1).top = Image2.top
Case 1
Image2.Picture = Image1(2).Picture
Image1(2).left = Image2.left
Image1(2).top = Image2.top
……
我自己写的时候每种情况下都没有写下面这两句:
Image1(1).left = Image2.left
Image1(1).top = Image2.top
是因为觉得没有写的必要,image2的位置既然已经在初始化的时候固定了,就没有必要再写那么多行这个了。后来看到后面才发现,前面这样写是为了和后面对比,突出image位置有变动时的情形下代码如何写。
比如“飞翔的小鸟”部分代码:
PrivateSub Form_Load()
Image2.left= 0
Image2.top= (Form1.ScaleHeight - Image2.Height) / 2
End Sub
初始化完成后多次对image位置进行判断
IfImage2.left < Form1.WIDth Then
Image2.left = Image2.left + 50
Else
Image2.left = 0
End If
之后再没有写image2位置的代码的必要了
SelectCase i
Case 0
Image2.Picture = Image1(1).Picture
Case 1
Image2.Picture = Image1(2).Picture
动画实现的思想会被广泛应用的。
总结以上是内存溢出为你收集整理的由Timer所引发的VB动画全部内容,希望文章能够帮你解决由Timer所引发的VB动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)