void main() {int gd=DETECT,gm,i,j,size;
void *buffer;
initgraph(&gd,&gm,\"\");
registerbgidriver(EGAVGA_driver); setcolor(BROWN); circle(100,100,5); circle(80,100,5); setfillstyle(1,RED); bar(72,88,107,95); setfillstyle(1,GREEN); bar(80,80,100,88);
size=imagesize(71,79,108,106); buffer=malloc(size);
getimage(71,79,108,106,buffer); cleardevice();
putimage(1,1,buffer,COPY_PUT); do {
for(j=0;j<=450;j+=90) /*改变90,可以改变下降的大小*/ {
cleardevice();
for(i=0;i<=0;i++)
putimage(i+1,j+1,buffer,COPY_PUT); cleardevice(); }
}while(!kbhit()); /*按任意键退出,不过要等全部走完一遍才会退出*/ closegraph(); }
第二种方法(用背景色覆盖): #include #include void main() {int gd=DETECT,gm,i;
registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,\"\"); setfillstyle(1,GREEN); bar(50,230,60,240); while(!kbhit()) {
for(i=0;i<30;i++)
{
delay(10000);
bar(50+(i+1)*10,230,60+(i+1)*10,240); setfillstyle(1,0);
bar(50+i*10,230,60+i*10,240); setfillstyle(1,GREEN); }
cleardevice(); }
closegraph(); }