摘 要:在VB的環(huán)境中,利用PictureClip控件的屬性和方法,實現(xiàn)連續(xù)圖片的動畫效果,使圖片顯示形象直觀,富有趣味性,取得了滿意的應(yīng)用效果。
關(guān)鍵詞:VB;PictureClip控件;連續(xù)圖片;動畫效果
中圖分類號:TP391.41
所謂的動畫一般由兩個基本組成部分,一個是物體相對于屏幕運動的動畫;另一個就是相對符號的動畫[1]。在VB開發(fā)應(yīng)用程序的過程中,不但能夠開發(fā)具有實用功能的程序,還可以編寫動畫程序。PictureClip控件作為VB中一個非常重要的常用控件,如果能夠靈活地與其它控件配合使用,將會產(chǎn)生五彩繽紛、動作逼真的動畫效果,從而達到預(yù)期的效果。
1 程序設(shè)計
1.1 基本原理
本文在VB 中動畫編程的基本原理是通過圖像的屬性設(shè)置將各種格式的圖片裝入內(nèi)存中,然后將多幅圖像在短時間內(nèi)進行交替的更換并且連續(xù)的播放出來,從而產(chǎn)生動畫的效果,圖片并沒有發(fā)生位移。PictureClip控件用于創(chuàng)建圖像資源位圖,可用來保存其他VB控件使用的多個圖像,而這些圖像都包含在一個位圖中[2]。利用它這個特點創(chuàng)建動畫。
1.2 程序設(shè)計
(1)創(chuàng)建PictureClip圖像資源。準備8個單一畫面的小位圖,然后將它們粘貼在一個大位圖中,如圖1所示。這些小位圖的大小必須相同,確保它們在Image控件中顯示在同一區(qū)域。
圖1 PictureClip圖像資源
(2)新建一個工程,添加一個窗體Form1,一個Image控件Image1,一個PictureClip控件PictureClip1,一個Timer控件Timer1,一個Command控件Command1。設(shè)置PictureClip1的行數(shù)為2,列數(shù)為4。
(3)程序代碼。
’定義窗體級變量
Dim var_sign As Integer
Dim var_number As Integer
Private Sub Command1_Click()
If var_sign = 0 Then
Command1.Caption = “停止”
var_sign = 1
Else
Command1.Caption = “執(zhí)行動畫”
var_sign = 0
End If
End Sub
’初始化窗體
Private Sub Form1_Load()
PictureClip1.Picture = LoadPicture(app.path “\ leopard.bmp”)
Image1.Picture = PictureClip1.GraphicCell(0)
var_number = 0
End Sub
’動畫實現(xiàn)的過程
Private Sub realize()
’順序循環(huán)顯示小位圖
var_number = var_number + 1
If var_number = 8 Then
var_number = 0
Timer1.Enabled = False
Else
Image1.Picture = PictureClip1.GraphicCell(var_number)
End if
End Sub
’利用Timer控件控制動畫
Private Sub Timer1_Timer()
If var_sign =1 Then realize
End sub
1.3 動畫效果實現(xiàn)
運行程序,產(chǎn)生了連續(xù)圖片的動畫效果,如圖2所示。
圖2 連續(xù)圖片動畫效果
2 結(jié)束語
本文給出了在VB中實現(xiàn)動畫效果的關(guān)鍵技術(shù)—PictureClip控件,通過一個典型實例詳細描述了其實現(xiàn)方法,并且配以效果圖。其實利用VB實現(xiàn)動畫的方法很多,這只是對于那些對VB動畫制作感興趣的人提供的一種思路。
參考文獻:
[1]朱永海.制作Microsoft Agent角色課件動畫[J].中小學(xué)信息技術(shù)教育,2007(09).
[2]劉恩濤,趙耀峰.Visual Basic 6.0編程技巧與實例分析[M].北京:中國水利水電出版社,1999.
作者簡介:陳艇(1974-),男,廣東汕頭人,碩士,高級工程師,就職于信息科,研究方向:計算機網(wǎng)絡(luò)與軟件開發(fā)。
作者單位:汕頭大學(xué)醫(yī)學(xué)院附屬腫瘤醫(yī)院,廣東汕頭 515031