p; k:integer;
l:integer;
BitMapB : TBitMap;
begin
Randomize();
BitMapB:=TBitMap.Create;
try
//动画位图为4*16-3帧空帧=61帧
w:=Image2.Width div 4;
h:=image2.Height div 16;
BitMapB.Height :=h;
BitMapB.Width :=w;
k:=0;
l:=0;
while not stop do
for i:=0 to 15 do
for j:=0 to 3 do
begin
if (i=15) and (i>0) then break;//如果是空帧就不画了
//保存桌面上指定区域的位图
//注意,由于飞行是在不同位置完成的,所以要保存即将被绘图的桌面区域
savebackground(BitMapB.canvas,w,h,k,l);
tranbit(DeskTopDC ,k,l,w,h,image2.Canvas.Handle,j*w,i*h,w,h,RGB(208,2,178));
sleep(10);
bitblt(DeskTopDC,k,l,w,h,BitMapB.Canvas.handle,0,0,srccopy);
if(k<x)then k:=k+1;
if(l<y)then l:=l+1;
if timer1.Enabled =false then
if(k>x-10)then//到达目的地就停止飞行,并引爆炸弹
begin
stop:=true;