微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题彩蝶飞舞春意浓
栏目软件世界
作者宋新芳
发布2001年10期
  春意融融,花儿竞相开放,迎来彩蝶飞舞……多美的一幅画面!下面就让我们在VB中编写这样一个程序吧。
  编程原理
  我们知道,让一系列图片连续显示,利用人眼的视觉暂留特性,就可以造成动画效果。根据这个原理,我们让蝴蝶翅膀展开与合上的两幅图片不断交替显示,并且使图片框从左向右移动,形成蝴蝶翩翩飞舞。(

)
  界面和属性
  首先准备素材──用来制作动画的两幅蝴蝶图片bfly1.gif,bfly2.gif(可在VB\Samples\Pguide\VCR子目录下找到)。另外,为了增加画面效果,选取一幅春天花儿盛开的风景画作为背景。下面就开始吧!
  进入VB,新建一个工程,在窗体Form1上,放置三个图像框控件(Image1、Image2、Image3)、两个定时器控件(Timer1、Timer2)和一个命令按钮(Command1)。其中图像框Image1及Image2用来存储两幅蝴蝶图片,图像框Image3用来交替显示两幅图片,这种方法比直接从文件中装入节省时间,而且动画效果好;定时器Timer1用来控制两幅图片显示间隔时间,定时器Timer2用来控制图片框Image3向右移动间隔时间;命令按钮Command1用来控制动画的开始和停止。
  程序代码
  Private Sub Command1_Click()
  '通过判断按钮的Caption属性值,利用定时器来启动或停止动画
  If Command1.Caption=“开始动画” Then
  Timer1.Enabled=True
  Timer2.Enabled=True
  Command1.Caption=“停止动画”
  Else
  Timer1.Enabled=False
  Timer2.Enabled=False
  Command1.Caption=“开始动画”
  End If
  End Sub
  Private Sub Form_Load()
  '设置窗体居中及蝴蝶在画面出现的位置
  Me.Move(Screen.Width-Me.Width)/2,(Screen.Height-Me.Height)/2
  Image3.Left=0
  Image3.Top=Me.Height/3
  End Sub
  Private Sub Form_Resize()
  '运行过程中如窗体大小改变,控制按钮位置使之处于右下角
  Command1.Top=Me.ScaleHeight-Command1.Height
  Command1.Left=Me.ScaleWidth-Command1.Width
  End Sub
  Private Sub Timer1_Timer()
  '实现两幅图片交替显示
  Static flag
  If flag=0 Then
  Image3.Picture=Image1.Picture
  flag=1
  Else
  Image3.Picture=Image2.Picture
  flag=0
  End If
  End Sub
  以下代码实现蝴蝶从左向右移动,如蝴蝶移出窗体外,则对Image3的Left值重新赋值,使蝴蝶回来。
  Private Sub Timer2_Timer()
  If Image3.Left>Me.ScaleWidth Then
  Image3.Left=Me.Left-1500
  Else
  Image3.Move Image3.Left+100
  End If
  End Sub
  OK,大功告成,按下F5慢慢欣赏自己的杰作吧!