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

VB中播放三維動畫編程一例

編輯:VB綜合教程
用三維動畫做多媒體應用程序中的動畫界面,由於畫面效果良好逼真,已越來越多地被程序員們采用。在VB中播放三維動畫的方法,刊物中已有介紹。常見的有:1利用Autodesk公司提供的Aaplay.VBX控件,可方便實現,但正版Aaplay.VBX很難見到,且在VB4.0以上版本中,已不再支持VBX控件而改用OCX。2利用MCI(VB4.0中為MMContral)控件或調用動態鏈接庫AAPLAY.DDL,但MCI控件只能播放AVI格式的動畫卻對FLC無能為力,調用DDL庫的詳細方法又未被普遍掌握。本文介紹另一途徑可方便實現對三維動畫的靈活播放,供大家參考。
  
  首先,用3DS軟件制作三維動畫,制作過程本文不再詳述,注意在生成動畫文件時不生成FLC或FLI文件而要生成連續多幅BMP格式圖象,以供VB中使用。圖象的大小最好和播放時動畫窗口的大小一致,這樣在VB中就不用再專門改變圖象的大小了。文件名可起成類似“DH2”這樣的名稱,如制作一個60幅的動畫,在生成時就會自動生成DH20000.BMP至DH20059.BMP一系列圖形文件。將它們放在預定目錄如“c:mp”中。
  
  第二,在播放動畫的窗體中設置Picture控件數組,如:“Picture1(60)",下標為0至59。將其屬性Autosize置為true。這樣Picture的大小將自動與BMP圖象的大小一致,如想改變播放時圖形的尺寸,可以使用Image控件數組,將其Stretch屬性置為True。(使用Image控件播放時畫面比Picture控件略為流暢,因其顯示速度較快)
  
  第三,編程播放。
  
  在Form_load()過程中加入以下代碼:
  
  FORI=0TO59
  
  PICTURE1(I).LEFT=NN'NN、HH為常數,設定PICTUREPICTURE1(I).TOP=HH'在窗體中的位置  '以下為裝入圖象
  
  FILENAME="C:BMPDH"&STR(20000 I)
  
  FILENAME=FILENAME&".BMP"
  
  PICTURE1(I).PICTURE=LOADPICTURE(FILENAME)
  
  NEXT
  
  在窗體中加入時鐘控件Timer1,其Interval屬性置為56。在Timer事件函數中加入以下代碼:
  
  TIMER1_TIMER()
  
  I=I 1
  
  IFI=60THEN
  
  I=0
  
  PICTURE1(0).VISIBLE=TRUE
  
  PICTURE1(59).VISIBLE=FALSE
  
  ELSE
  
  PICTURE1(I).VISIBLE=TRUE
  
  PICTURE1(I-1).VISIBLE=FALSE
  
  ENDIF
  
  ENDSUB
  
  以上程序為每1/18秒變換一幅圖象,構成循環播放,注意三維動畫要設計成首尾相接的,這樣一個循環和另一個循環之間才能銜接好。如不需循環播放則無此問題,把程序中控制循環的語句去掉即可。->

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