现,即可出现动画。
---- 五. 从画面外逐渐移(飞)过
---- 在设计封面的时候,经常需要把某标题从某个画面上飞过。 要实现该类型的动画实际上只需改变标题的TOP(垂直方向飞过)或LEFT属性(水平方向飞过)。
---- 例如实现一个标题在一幅画上从左往右飞过。先在FORM1里建立一个图形对象DBIMAGE1和文字对象STATICTEXT1(注意TEXT类型的对象无法显示在
图片上),把位置和大小大小尺寸设好。然后在FORM1里建立一个TIME对象TIME1,把其ENABLED属性设为TRUE,INTERVAL属性设为10;并在事件ONTIME里键入如下语句:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if statictext1.left< dbimage1.width+dbimage1.left then
statictext1..left:=statictext1.left+3
else
statictext1.left:=dbimage1.left;
//当标题飞出图片后,使标题重新位于
图片的左边,
再一次从左向右入屏幕
end;
---- 说明:
如果只想使标题从左向右移动一次,ELSE语句改为Timer1.enabled:=false;
数值3是标题移动的速度值,可以随意更改
若标题只移到
图片的某一位置,则把“statictext1.left< dbimage1.width+dbimage1.left”改为“statictext1.left< 位置值”,并把ELSE语句改为Timer1.enabled:=false;
只需把LEFT的值从大变到小,则实现从右往左飞过
把上面的LEFT改为TOP,把WIDTH改为HEIGHT,即可实现垂直方向的动画。
---- 六. 逐渐显示(即把
图片从某一个边界逐渐拉出来)
---- 实现这一类型的动画不但要改变TOP、LEFT属性,还要改变HEIGHT和WIDTH属性。 例:把一幅画从右边往左边拉(右切入)。在上例中以DBIMAGE1为例。这时要把Dbimage1的center和stretch属性设为FALSE。
图片的左边界放在FORM1的右边界处,WIDTH设为0。
procedure TForm1.timer1Timer(Sender: TObject);
begin
if dbimage1.left >0then
begin
dbimage1.left:=dbimage1.left-3;
dbimage1.width:=dbimage1.width+3;
//LEFT的改变值与WIDTH的改变值必须一样
end
else
begin
dbimage1.left:=form1.width;
dbimage1.width:=0;
end;
end;
---- 说明:
把上面的LEFT改为TOP,WIDTH改为HEIGHT即可实现从下往上拉(下切入)。
若只切入到某一点,可以把“Dbimage1.left >0”中的0改为设定点的坐标,并把ELSE 语句改为 Timer1.enabled:=false;
---- 尽管DELPHI提供了不少关于动画方面的开发工具,但是只要稍稍修改一下属性即可轻轻松松地实现常见的一些特技显示,你愿意试一下吗?