動畫程式設計始終是有趣和令人興奮的。雖然 Visual Basic 不是專門設計動畫的程式語言,但你仍可以建立一些有趣的動畫效果。在VB6裡有很多方法可以創造動畫效果 ,但我們先學習應用一些較簡單的方法。
最簡單創建動畫的方法,,是以一系列的活動,如按一個按鍵把一組圖片或照片甚至文本和標籤的VISIBLE(可見 )屬性設為True 或False。讓我們看看下面的例子:
這程式制造一隻海鷗飛向4個方向的錯覺。為了做到這一點,您可插入5只海鷗圖像到表單中。把中心的圖像Visible屬性設置為True,其余圖像的Visible屬性則設置為FALSE 。當程式運行時,用戶將只能夠看到中間的圖。接下來,插入5個命令按鈕,並把它們的標籤改成向北, 向東, 向西,向南和返回。在下列程序雙擊北移按鈕然后鍵入以下的程式:
Private Sub cmdNorth_Click()
Image1.Visible = False
Image2.Visible = True
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
End Sub
Private Sub Form_Load()
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
End Sub
按一下該北移按鈕,只有圖像3被顯示 。這將造成一個錯覺,以為海鷗已經飛向北方。其余的按鈕也以同樣的方法鍵入類似的程式。
Private Sub cmdEast_Click()
‘向東
Image1.Visible = False
Image2.Visible = False
Image3.Visible = True
Image4.Visible = False
Image5.Visible = False
End Sub
Private Sub cmdSouth_Click()
‘向南
Image1.Visible = False
Image2.Visible = False
Image3.Visible = False
Image4.Visible = True
Image5.Visible = False
End Sub
Private Sub cmdWest_Click()
’向西
Image1.Visible = False
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = True
End Sub
返回按鈕的程式碼如下:
Private Sub cmdBack_Click()
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
End Sub
除此之外,為了使用戶在程序啟動時只看到中間的海鷗,你必須添加以下的程序:
Private Sub Form_Load)
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
End Sub
图29.1
您也可使用一個本文框 來發出命令,這個想法其實是來自我的兒子劉迅( 10歲) 。他的程式如下
圖29.2
在文本框中,當您鍵入北字時,海鷗將飛向北方。當您鍵入西字時,海鷗將飛向西方。當您鍵入南字時,海鷗將飛向南方。當您鍵入東字時,海鷗將飛向東方。當您鍵入返回時,海鷗將飛回原位。
輸出屏幕如下:
圖29.3
程式碼
Private Sub Command1_Click()
If Text1.Text = "北" Then
Image1.Visible = False
Image2.Visible = True
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
ElseIf Text1.Text = "東" Then
Image1.Visible = False
Image3.Visible = True
Image2.Visible = False
Image4.Visible = False
Image5.Visible = False
ElseIf Text1.Text = "西" Then
Image1.Visible = False
Image3.Visible = False
Image2.Visible = False
Image4.Visible = False
Image5.Visible = True
ElseIf Text1.Text = "南" Then
Image1.Visible = False
Image3.Visible = False
Image2.Visible = False
Image4.Visible = True
Image5.Visible = False
ElseIf Text1.Text = "返回" Then
Image1.Visible = True
Image3.Visible = False
Image2.Visible = False
Image4.Visible = False
Image5.Visible = False
End If
End Sub
另一種簡單的模擬動畫方法是利用VB6裡的Left 和Top 的屬性。 Image.left代表 圖像左邊和屏幕左邊界之間的距離,而Image.top代表圖像頂部和屏幕上部邊界的距離。距離是以Twip作為單位,一個Twip 相等於1 / 1440英寸。使用如Image.left - 100 的陳述句將使圖像向左移100個Twip的距離, Image.top + 100的陳述句將使圖像向右移100個Twip的距離, Image.top -100的陳述句將使圖像向上移100個Twip的距離,Image.top+100的陳述句將使圖像向下移100個Twip的距離 。
下面這個程序使您每次點擊一個有關命令按鈕可以把物體向上,下。左,右移動。該守則,如image1.top = image1.top + 100 ,是使用戶每按一下命令按鈕使距離增加或減少。例如,如果圖像的原來位置是離上方邊界1000Twip,當用戶按一下按鈕時,它和上方的距離將增加到1100Twip,再按一下則它的距離將是1200Twip 等等。因此,所有四個按鈕皆可用類似的程式來編寫。這樣,按一下四個按鈕的任何一個可使該圖像移動四個方向。
程式碼
Private Sub Command1_Click()
Image1.Top = Image1.Top + 100
End Sub
Private Sub Command2_Click()
Image1.Top = Image1.Top - 100
End Sub
Private Sub Command3_Click()
Image1.Left = Image1.Left + 100
End Sub
Private Sub Command4_Click()
Image1.Left = Image1.Left - 100
End Sub
第四個例子,可讓使用者放大和縮小圖像或對象。要達到這個效果,我們可通過改變對象的高度和寬度屬性。這是類似上面的例子。陳述句image1.height = image1.height + 100和image1.width = image1.width + 100將使每一次用戶按一下有關命令按鈕時,對象就增加 100Twip 的高度和寬度。在另一方面,陳述句image1.height = image1.height -1 00和i mage1.width= i mage1.width- 100將使每一次用戶按一下有關命令按鈕時,對象就減少100Twip 的高度和寬度
程式碼
Private Sub Command1_Click()
Image1.Height = Image1.Height + 100
Image1.Width = Image1.Width + 100
End Sub
Private Sub Command2_Click()
Image1.Height = Image1.Height - 100
Image1.Width = Image1.Width - 100
End Sub