请教个简单的图形问题(50分)

  • 主题发起人 主题发起人 liwenbin
  • 开始时间 开始时间
L

liwenbin

Unregistered / Unconfirmed
GUEST, unregistred user!
用CANVAS实现动画显示
  下面的位图表示一只羊旋转的动作,该动作由8个占40×40点阵的状态组成,下面的定时器时间的代码就是要让小羊动起来。
  代码中imgdest和imgsource为两个Image 控件的名字。在imgdest中装入了上面提到的位图作为源,其Visible属性为false;imgdest则作为目的位图进行动画显示,高度和宽度均设为40。计时器的时间间隔设为100毫秒。
  procedure TForm1.Timer1Timer(Sender: TObject);
  begin
  imgdest.canvas.copyrect(rect(0,0,40,40),
  imgsource.canvas,rect(tag*40,0,tag*40+40,40));
  if tag=7 then {动作状态编号从零开始,一共有8个状态}
  tag:=0
  else
  tag:=tag+1; {用表单的tag属性表示动作状态,初始值为0}
  imgdest.refresh; {刷新图像}
  end;
其中 tag 怎么来的,具体的可不可以用
var i:integer 中的i 代替,为什么用tag
 
tag 是Form的属性变量,你可以把I申明为全局变量就可以了。
 
接受答案了.
 
后退
顶部