程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB實現圖形動畫的三種方法

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

編輯:VB綜合教程
VB在實現圖形動畫方面,有其獨到之處,下面筆者就談談使用VB3.0專業版實現圖形動畫的三種方法。
  動畫由兩個基本部分組成。一是物體相對於屏幕的運動,即屏幕級動畫;二是物體內部的運動,即相對符號的動畫。制作動畫的原理就是畫完一幅圖形,清除它的屏幕顯示部分,再在新位置畫第二幅圖形,如此交替下去,利用人眼的視覺效應,就可以產生動畫效果,VB實現動畫的原理也如此,但VB它不要求編程人員詳細了解圖形如何再現和清除,這些工作由VB提供的工具來做,這樣就使VB實現動畫很方便,編程也很簡捷。
  1.控制的移動。采用控制的移動技術可實現屏幕級動畫,而控制移動方式又可分兩種:一是在程序運行過程中,隨時更改控制的位置坐標Left、Top屬性,使控制出現動態;二是對控制調用MOVE方法,產生移動的效果。這裡的控制可以是命令按鈕、文本框、圖形框、圖像框、標簽等。
  
  2.利用動畫按鈕控制。VB的工具箱中專門提供了一個動畫按鈕控制(AnimatedButtonControl)進行動畫設計,該工具在Windows\system子目錄下以Anibuton.vbx文件存放,用時可加入項目文件中,這種方法實現動畫的過程與電影膠片的放映極為相似,它將多幅圖像裝入內存,並賦予序號,通過定時或鼠標操作進行圖像的切換,通過這種方法可實現相對符號的動畫。此控制的有關屬性介紹如下:
  
  (1)Picture和Frame屬性:Pieture屬性可裝入多幅圖像,由Frame屬性作為控制中多幅圖像數組的索引,通過選擇Frame值來指定訪問或裝入哪一幅圖像,這裡Picture屬性可裝入.bmp、.ico和.wmf文件。
  (2)Cycle屬性:該屬性可設置動畫控制中多幅圖像的顯示方式
  (3)PictDrawMode屬性:該屬性設置控制的大小與裝入圖像大小之間的調整關系。
  (4)Speed屬性:表示動態切換多幅圖的速度,以毫秒(ms)為單位,一般設置小於100范圍內。
  (5)Specialop屬性:該屬性在程序運行時設置,與定時器連用,來模擬鼠的Click操作,不需用戶操作觸發,而由系統自動觸發進行動態圖的切換。
  
  3.利用圖片剪切換控制。該控制也提供了在一個控制上存儲多個圖像或圖標信息的技術,正如用動畫按鈕一樣,它保存Windows資源並可快速訪問多幅圖像,該控制的訪問方式不是依次切換多幅圖,而是先將多幅圖放置在一個控制中,然後在程序設計時利用選擇控制中的區域,將圖動態剪切下來放置於圖片框中進行顯示,程序控制每間隔一定時間剪切並顯示一幅圖,這樣便可產生動畫效果。該工具以Picelip.vbx文件存於Windows\system子目錄中,需要時可裝入項目文件中。此控制有關屬性介紹如下:
  (1)RowsCols屬性:規定該控制總的行列數。
  (2)Picture屬性:裝入圖像信息,僅能裝入位圖.bmp文件。
  (3)ClipX、ClipY屬性:指定要剪切圖位於控制中的位置,左上角坐標。
  (4)ClipWidth、ClipHeight屬性:表示需剪切圖的大小,即指定剪切區域。
  (5)Clip屬性:設計時無效,執行時只讀,用於返回(3)、(4)兩項指定的圖像信息。
  (6)Grahiceell屬性:該屬性為一個數組,用於訪問Picture屬性裝入圖像中的第一個圖像元素。
  (7)StretchX、StretchY屬性:設計時無效,執行時只讀,在將被選中圖像裝入拷貝時定義大小顯示區域,單位為像素(Pixcls)。
  以上筆者只談了VB實現圖形動畫的基本方法,有興趣的讀者可參考有關書目。
  ->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved