VisualBasic和結構化程式相比,增加了物件的「方法」功能。充分掌握這種不同於物件屬性的“方法”,對視覺化應用的開發極為重要。下面,以VB4.0的move方法為例,說明此方法在動畫中的應用。
本例欲透過move方法完成一隻蝴蝶的飛翔過程。透過定時器的中斷,每隔一段時間(本例為0.2秒),在螢幕上移動蝴蝶的位置,並且改變蝴蝶的形態(展翅和收翅),於是利用視覺的暫存效應,看到蝴蝶栩栩如生的飛行場面。蝴蝶的位置的移動就由move方法來實現,move方法使用的格式如下:
對象.moveleft,top
其中left為物件左邊界的水平座標(x軸),top為物件上邊界的垂直座標(Y軸),本例中的物件框(imagebox),名字為main。
蝴蝶的展翅和收翅圖象由點陣圖檔案bfly1.bmpbfly2.bmp來提供,並可根據需要製作其它飛行的點陣圖文件,以使效果更加逼真。
本例中窗體結構和各個物件的屬性設定如下:
對象屬性設定
窗體caption蝴蝶飛行動畫設計
圖象框namemain
picturebfly1
圖象框nameopenwings
picturebfly1
圖象框nameclosewings
picturebfly2
命令框namecommand1
captionE&xit
定時器nametimer1
interval200
有關程式比較簡單,程式碼如下:
定時器中斷程序:
PRivateSubTimer-Timer()
StaticPickBmpAsInteger
Main.MoveMain.Left 20,Main.Top-5
IfPickBmpThen
Main.Picture=OpenWings.Picture'Displaystheopenbutterflypicture.
Else
Main.Picture=CloseWings.Picture'Displaystheclosedbutterflypicture.
EndIf
PickBmp=NotPickBmp'Togglethevalue.
EndSub
退出按鈕(exit)程式:
PrivateSubCommand1-Click()
UnloadMe
End
EndSub
這樣,利用VB的move方法和其它物件屬性,就可以實現更複雜的動畫設計。 ->