艾斯嘉:c语言动画的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 00:57:15
下面的代码中用了putimage 实现动画,其中COPY_PUT书上说是消除原来的图象,在新位置上输出内存的图象.但是)在"/*******/"的两行中输出的图象在后来并没有被清除啊?而在for循环中的putimage才实现了动画,为什么啊????????
#include "stdio.h"
#include "graphics.h"
#include "bios.h"
int main()
{
int i, gdriver, gmode, size;
void *buf;
gdriver=DETECT;
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1, 10);
circle(100, 200, 30);
floodfill(100, 200, 12);
size=imagesize(69, 169, 131, 231);
buf=malloc(size);
getimage(69, 169, 131, 231,buf);
putimage(500, 269, buf, COPY_PUT);/*******/
putimage(133, 269, buf, COPY_PUT);/*******/
for(i=0; i<185; i++){
putimage(70+i, 170, buf, COPY_PUT);

putimage(500-i, 170, buf, COPY_PUT);
}
for(i=0;i<185; i++){
putimage(255-i, 170, buf, COPY_PUT);
putimage(315+i, 170, buf, COPY_PUT);
}
getch();
closegraph();
}

摇头。。。我没怎么看明白LZ的意思。。。

54689575657889shuru