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