熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi中動畫設計[3]

2013-11-12 23:36:26  來源: Delphi編程 

    本程序可參考Timage構件變換法修改以上源程序來變換動作順序或旋轉方向以達到要求的動畫效果

  Tpanel構件變換法利用Tpanel構件作背景Timage構件裝載圖像圖像的移動效果相當平滑通過改變圖像構件的物理位置來描繪動畫軌跡或隨機漫游

  在封面窗體(TQD_start)中放入個Tpanel構件在Tpanel構件內放入個Timage構件在該構件內裝載一幅圖像其AUTOSIZE屬性設置為True另設置個Ttimer時鐘構件雙擊Ttm er構件的ONTIMER事件的處理程序如下:

  procedure TQD_startTimerTimer(Sender:TObject);

  CONST s:integer=;

  begin

  i:=i+s;

  imageleft:=arrposi[i];

  if i= then s:=;

  if i= then s:=;

  end;

  激活TQD_Start窗體的OnCreate事件的處理程序如下:

  procedure TQD_startTimerTimer(Sender:TObject);

  var ii:Integer;

  begin

  i:=

  for ii:= to do
  
  arrposi[ii]:=ii;

  end;


  顯然適當修改以上程序的相關數值可增加或減少移動范圍或者改變圖像的移動軌跡

  CANVAS畫面變換法Delphi在許多構件中都提供了CANVAS畫布類利用該屬性也可以設計出漂亮的動畫圖案下面以本公司的簡介為例說明如何在軟件中實現移動字幕造成整塊字體的動畫效果

  首先在公司簡介子模塊的疤迥诜湃?個Tpanel構件(可將其Be velinner和Beveloutr屬性設置為bvlowered造成顯示框內凹的感覺)在該構件內放入個Timage構件及個Ttier構件並在FormCreate 事件中設置動畫初值如下:

  procedure TQD_AboutForm Create(Sender:TObject);

  begin

  timerenabled:=true;

  timerInterval:=;

  x:=imageheight+;

  imageCanvasbrushcolor:=clGray;

  pic:=Rect(imagewidthimageheight);

  imagelCanvasFillRect(pic);

  end;

  雙擊Ttimer構件的ONTIMER事件的處理程序如下:

  procedure TQD_AboutTimerTimer(Sender:TObject);

  begin

  x:=x;

  if  then

  x:=imagelheight+;

  imageCanvasfontsize:=

  imageCanvasfontcolor:=$ff;

  imageCanvasTextOut(x江西奇達通訊網絡有限公司簡介);

  imageCanvasfontcolor:=$ffff;

  imageCanvasfontsize:=;

  imageCanvasTextOut(x+奇達公司是……);

  imageCanvasTextOut(x+ …公司簡介內容…);

  end;


  圖標顏色變換法Delphi的Additional頁的構件中有一個圖形構件(Shape)可以十分方便地處理多種幾何圖形例如橢圓正方形矩形圓角矩形等 這為在某些特定的環境下利用顏色變換來實現動畫技術提供了方便

  下例在軟件封面的某處設定一些TShape構件和一個Ttimer構件改變圖標顏色變化及運行軌跡形成動感

  由於篇幅有限僅提供部分雙擊Ttimer構件的ONTIMER事件的處理程序:

  procedure TQD_startTimerTimer(Sender:TObject);

  label hhr;

  begin

  if (Shapebrushcolor=clRed) then

  begin

  Shapebrushcolor:=clWhite;

  goto hhr;

  end;

  if (Shapebrushcolor=clWhite) then

  begin

  Shapelbrushcolor:=clRed;

  goto hhr;

  end;

  hhr:end;


  以上程序均在WindowsDelphi環境下調試通過

[]  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/11126.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.