| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 838 人关注过本帖
标题:[求助]百思不得其解????????
只看楼主 加入收藏
pjbpage
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:6 
[求助]百思不得其解????????

#include "graphics.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
void main()
{
void *w;
int driver,mode,i,b;
driver = VGA;
mode = VGAMED;
initgraph(&driver,&mode,"D:\\TC201E\\BGI");
cleardevice();
setbkcolor(3);
setcolor(4);
circle(430,300,30); //*画自行车*//
circle(510,320,10);
arc(460,320,0,90,50);
arc(430,270,270,360,30);
ellipse(460,265,180,360,7,5);
line(430,300,440,250);
circle(440,246,4);
w = malloc(imagesize(400,200,520,330));
getimage(400,200,520,330,w);
for(i=400;i>0;i--) //*让自行车从右向左动起来*//
{
putimage(i-1,200,w,COPY_PUT);
line(2,330,630,330);
}
getch();
closegraph();
} 
为什么运行时自行车后会生成一条红色粗线,请问高手怎样把那红色粗线去掉??????

搜索更多相关主题的帖子: 百思不得其解 include driver mode 
2006-10-26 17:31
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
两次putimage之间没有擦除原来的单车,留下了重影。
可以在
putimage(i-1,200,w,COPY_PUT);
line(2,330,630,330);
后面加个delay,再画上一个与背景同色与getimage获得的矩形同尺寸的实心矩形,以“擦除”原来的图像。
2006-10-26 17:53
pjbpage
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-10-11
收藏
得分:0 

为什么有些类似的程序(没加delay)中并不会留下重影而在这个程序中留下重影呢,能讲个理由吗?


2006-10-26 22:08
pjbpage
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-10-11
收藏
得分:0 
发表的高手们给意见时最好能同时给上代码,谢谢,万分感谢

2006-10-26 22:21
pjbpage
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-10-11
收藏
得分:0 

好像还是不行


2006-10-26 22:43
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
这程序的关键并不在delay,而是你在画下一张之前并未将前一张以背景色清除,delay只是为了让清除和显示之间有一个停顿,不用对程序的逻辑结构无任何影响。
如果你觉得我说的无法实现的话,也可以使用一个偷懒的法子:把以上代码中的数字520全部换成521,这算是一个偏方吧^_^
2006-10-27 10:25
pjbpage
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-10-11
收藏
得分:0 

偏方很灵,你很强啊,谢谢了


2006-10-27 12:06
快速回复:[求助]百思不得其解????????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040425 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved