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