< 第二十四课 : VB动画- 第二部分

 

第二十四课:VB动画- 第二部分

24.1 编写拖放的动画程序

拖放是一种常见的Windows应用程序。您可以把某些物件例如一个文件拖放到一个文件夹,一个回收站或另外一个视窗。这种拖放的程式在Visual Basic里相当容易编写 。在下面的例子里,我们来建立一个模拟拖动物件进入一个回收站,然后再拖放一把火把物件焚烧掉。

  在这一程式里,我们把六个图片加到表单里,其中一个是回收站,另一个是一个燃烧回收站,一个是火, 然后是3个将被拖进回收站的物件。此外,把所有将被拖放物件的属性dragmode设置 被拖进为1 (自动), 以便它们能被拖动。 燃烧回收站Visible的属性设置为False. 另外,把火的Tag 标签设置为fire。如果您想要有更好的拖曳效果,你需要在那些将被拖曳物件的dragicon属性加载一个适当的图标。最好的图标应该是跟物件一样的。

它的程序代码如下:

Private Sub Image4_DragDrop(Source As Control, X As Single, Y As Single)
Source.Visible = False
If Source.Tag = "Fire" Then
Image4.Picture = Image5.Picture
End If
End Sub

Source 指的是将被拖曳的物件。代码 Source.Visible =False 将使物件被拖入回收站时,它就会消失。如果Source 是火,回收站将变成燃烧回收站,这是通过使用代码image4.picture = image5.picture 而达到的。

24.2 一个完整的动画程式

到目前为止,在第23课动画的例子只涉及静态图片的移动。在这里,你将能够建立真正的动画程式。举例来说,一只扑动翅膀的蝴蝶。为了达到这个动画效果,我用了8个蝴蝶的画框。它显示蝴蝶处于不同扑动翅膀的阶段。

你其实可以下载上述图象并用在它们在您的程式里。你需要把上述所有的图像重叠在一起,使Image1 在程式启动时显现而其他的图像隐蔽。接下来,插入一个命令按钮和命名为Animate。按一下命令按钮,并键入相关的陈述句使图片出现和消失. 当程式运行时,您将看到以下的动画:

 

.

 

 

代码

Private Sub Command1_Click()
If Image1.Visible = True Then
Image1.Visible = False
 Image2.Visible = True
ElseIf Image2.Visible = True Then
Image2.Visible = False
Image3.Visible = True
ElseIf Image3.Visible = True Then
Image3.Visible = False
Image4.Visible = True
ElseIf Image4.Visible = True Then
Image4.Visible = False
Image5.Visible = True
ElseIf Image5.Visible = True Then
Image5.Visible = False
Image6.Visible = True
ElseIf Image6.Visible = True Then
Image6.Visible = False
Image7.Visible = True
ElseIf Image7.Visible = True Then
Image7.Visible = False
Image8.Visible = True
ElseIf Image8.Visible = True Then
Image8.Visible = False
Image1.Visible = True
End If

End Sub

如果您想建立蝴蝶扑动翅膀和同一时间内飞行的效果,然后您可以使用LeftTop 的属性,如下面的例子:

Sub move_up( )

If Image1.Visible = True Then
Image1.Visible = False
Image2.Visible = True
Image2.Top = Image2.Top - 100

ElseIf Image2.Visible = True Then
Image2.Visible = False
Image3.Visible = True
Image3.Top = Image3.Top - 100

ElseIf Image3.Visible = True Then
Image3.Visible = False
Image4.Visible = True
Image4.Top = Image4.Top - 100
ElseIf Image4.Visible = True Then
Image4.Visible = False
Image5.Visible = True
Image5.Top = Image5.Top - 100
ElseIf Image5.Visible = True Then
Image5.Visible = False
Image6.Visible = True
Image6.Top = Image6.Top - 100

ElseIf Image6.Visible = True Then
Image6.Visible = False
Image7.Visible = True
Image7.Top = Image7.Top - 100

ElseIf Image7.Visible = True Then
Image7.Visible = False
Image8.Visible = True
Image8.Top = Image8.Top - 100
ElseIf Image8.Visible = True Then
Image8.Visible = False
Image1.Visible = True
Image1.Top = Image1.Top - 100
End If
End Sub
 

 

[返回主页]