DELPHI中利用对象的常用属性制作动画

时间:2010-02-05 17:12:29  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:ge1的CENTER属性设成true;把stretch属性设成false。把WIDTH属性设成 0,适当设置LEFT的值,使其显示在屏幕中间。实现动画主要方法是修改LEFT属性(值逐渐变小)和WIDTH属性(值逐渐变大),要注意的是为了让幕布从中间均匀地向两边拉开,WIDTH的改变值必须是LEFT改变值的两倍。在DIMEER1的ontime事件中输入如下语句:
  正文:Delphi中的所有对象中都有提供了TOP、LEFT、HEIGHT、WIDTH四个属性,用以控制对象的位置和大小;另外在DELPHI中还提供了一个TIME的构件,利用他们可以方便地实现一些动画。

一. 拉幕

拉幕式即从中间往两边慢慢显示画面。在此把Dbimage1的CENTER属性设成true;把stretch属性设成false。把WIDTH属性设成 0,适当设置LEFT的值,使其显示在屏幕中间。实现动画主要方法是修改LEFT属性(值逐渐变小)和WIDTH属性(值逐渐变大),要注意的是为了让幕布从中间均匀地向两边拉开,WIDTH的改变值必须是LEFT改变值的两倍。在DIMEER1的ontime事件中输入如下语句:

if (dbimage1.left >0) then
begin
  dbimage1.left:=dbimage1.left-1;
  dbimage1.width:=DBImage1.width+2;
  //dbimage1.width的改变值必须是dbimage1.left改变值的2倍
end
else
timer1.enabled:=false;//拉幕结束。


把上面程序中的LEFT改为TOP,WIDTH改为HEIGHT就可以实现竖直方向的拉幕。如果把拉幕这种效果运用于文本类型的对象,就可以实现一行一行地显示文本的效果。

二. 手风琴

在拉幕式的动画中,当画面整个显示后,再把画面从两边往中间慢慢遮住,如此不断循环,象拉手风琴一样。实现时,需加入一个变量STATE,用以表明此时的状态。具体程序如下:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if state=1   then
  if (dbimage1.left >0) then
  begin
    dbimage1.left:=dbimage1.left-1;
    dbimage1.width:=DBImage1.width+2;
  end
  else //当幕完全拉开后,改变状态变量
    state:=2
  else
  //从两边往中间拉
    if   dbimage1.left< form1.width   div 2 then
  begin
    dbimage1.left:=dbimage1.left+1;
    dbimage1.width:=dbimage1.width-2;
  end
  else
  //当幕合上后,改变状态变量
        state:=1;
end;


三. 栅栏式

画面初始被竖直栅栏遮住,然后各条栅栏逐渐变窄,被栅栏分割的画面逐渐完整起来。在这种动画中,栅栏的角色由STATICTEXT类型的对象来充当(画面呈现几条栅栏就需要几个STATICTEXT对象)。只需改变STATICTEXT类型对象的LEFT 和 WIDTH属性即可(LEFT逐渐变大,WIDTH逐渐变小),在TIMER1的ONCLICK事件上,对每一个STATICTEXT对象如下处理:


if   st1.width >0   then //ST1是STACTICTEXT类型的一个对象
begin
  st1.width:=st1.width-2;
  st1.left:=st1.left+1 ;
end
else
//再一次循环
  begin
  st1.width:=40;   //WIDTH和LEFT由实际情况决定
   st1.left:=40;
end;



如果把上面的栅栏水平排列,把LEFT改成TOP,把WIDTH改成HEIGHT,则成为百页窗的效果,大家有兴趣的话可以试试。

四. 翻页

这是一种旋转的效果,实际上是把TOP的值固定,改变HEIGHT的值,并把STRETCH的值设为TRUE。在TIMER1的ONTIME事件中键入以下程序可以实现向上翻页:

if   dbimage1.height >0   then
dbimage1.height:=dbimage1.height-4;


DELPHI中利用对象的常用属性制作动画》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12791.html


关键字:

关于《DELPHI中利用对象的常用属性制作动画》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td