其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi中动画设计[3]


发布日期:2020年11月05日
 
Delphi中动画设计[3]

本程序可参考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环境下调试通过

[] [] []

               

上一篇:Delphi编程访问注册表(一)

下一篇:Delphi中动画设计[2]