VB實現圖形動畫的三種方法

發表于:2007-07-14來源:作者:點擊數: 標簽:
VB 在實現圖形動畫方面,有其獨到之處,下面筆者就談談使用VB3.0專業版實現圖形動畫的三種方法。 動畫由兩個基本部分組成。一是物體相對于屏幕的運動,即屏幕級動畫;二是物體內部的運動,即相對符號的動畫。制作動畫的原理就是畫完一幅圖形,清除它的屏幕顯
  VB在實現圖形動畫方面,有其獨到之處,下面筆者就談談使用VB3.0專業版實現圖形動畫的三種方法。

  動畫由兩個基本部分組成。一是物體相對于屏幕的運動,即屏幕級動畫;二是物體內部的運動,即相對符號的動畫。制作動畫的原理就是畫完一幅圖形,清除它的屏幕顯示部分,再在新位置畫第二幅圖形,如此交替下去,利用人眼的視覺效應,就可以產生動畫效果,VB實現動畫的原理也如此,但VB它不要求編程人員詳細了解圖形如何再現和清除,這些工作由VB提供的工具來做,這樣就使VB實現動畫很方便,編程也很簡捷。

  1.控制的移動。采用控制的移動技術可實現屏幕級動畫,而控制移動方式又可分兩種:一是在程序運行過程中,隨時更改控制的位置坐標Left、Top屬性,使控制出現動態;二是對控制調用MOVE方法,產生移動的效果。這里的控制可以是命令按鈕、文本框、圖形框、圖像框、標簽等。

  2.利用動畫按鈕控制。VB的工具箱中專門提供了一個動畫按鈕控制(Animated Button Control)進行動畫設計,該工具在Windows\system子目錄下以Anibuton.vbx文件存放,用時可加入項目文件中,這種方法實現動畫的過程與電影膠片的放映極為相似,它將多幅圖像裝入內存,并賦予序號,通過定時或鼠標操作進行圖像的切換,通過這種方法可實現相對符號的動畫。此控制的有關屬性介紹如下:

 ?。?)Picture和Frame屬性:Pieture屬性可裝入多幅圖像,由Frame屬性作為控制中多幅圖像數組的索引,通過選擇Frame值來指定訪問或裝入哪一幅圖像,這里Picture屬性可裝入.bmp、.ico和.wmf文件。

 ?。?)Cycle屬性:該屬性可設置動畫控制中多幅圖像的顯示方式

 ?。?)PictDrawMode屬性:該屬性設置控制的大小與裝入圖像大小之間的調整關系。

 ?。?)Speed屬性:表示動態切換多幅圖的速度,以毫秒(ms)為單位,一般設置小于100范圍內。

 ?。?)Specialop屬性:該屬性在程序運行時設置,與定時器連用,來模擬鼠的Click操作,不需用戶操作觸發,而由系統自動觸發進行動態圖的切換。

  3.利用圖片剪切換控制。該控制也提供了在一個控制上存儲多個圖像或圖標信息的技術,正如用動畫按鈕一樣,它保存Windows資源并可快速訪問多幅圖像,該控制的訪問方式不是依次切換多幅圖,而是先將多幅圖放置在一個控制中,然后在程序設計時利用選擇控制中的區域,將圖動態剪切下來放置于圖片框中進行顯示,程序控制每間隔一定時間剪切并顯示一幅圖,這樣便可產生動畫效果。該工具以Picelip.vbx文件存于Windows\system子目錄中,需要時可裝入項目文件中。此控制有關屬性介紹如下:

 ?。?)Rows Cols屬性:規定該控制總的行列數。

 ?。?)Picture屬性:裝入圖像信息,僅能裝入位圖.bmp文件。

 ?。?)Clip X、Clip Y屬性:指定要剪切圖位于控制中的位置,左上角坐標。

 ?。?)ClipWidth、ClipHeight屬性:表示需剪切圖的大小,即指定剪切區域。

 ?。?)Clip屬性:設計時無效,執行時只讀,用于返回(3)、(4)兩項指定的圖像信息。

 ?。?)Grahiceell屬性:該屬性為一個數組,用于訪問Picture屬性裝入圖像中的第一個圖像元素。

 ?。?)Stretch X、Stretch Y屬性:設計時無效,執行時只讀,在將被選中圖像裝入拷貝時定義大小顯示區域,單位為像素(Pixcls)。

  以上筆者只談了VB實現圖形動畫的基本方法,有興趣的讀者可參考有關書目。


摘自:天極網

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97