加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

由Timer所引发的VB动画

发布时间:2020-12-16 22:40:00 所属栏目:大数据 来源:网络整理
导读:将 Timer 的 Interval 属性设置一定时间间隔, Timer 便每隔一定时间产生一次动作。若在屏幕上快速地显示一组相关的图像,就实现了动画。因此,实现动画的基础是图像的显示和使图像快速、定时地移动和变化。这就是 VB 中动画的实现方法。滚动字幕、喷泉、飞

TimerInterval属性设置一定时间间隔,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

动画实现的思想会被广泛应用的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读