| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 730 人关注过本帖
标题:[求助]c图形的擦除问题与动画问题
只看楼主 加入收藏
ensonpan3927
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-7-7
收藏
 问题点数:0 回复次数:4 
[求助]c图形的擦除问题与动画问题

向各位求救了!我的问题就是:运动的小圆在运动后怎么把前面的小圆擦除掉?有什么函数吗?谢谢了!
程序如下:

#include<graphics.h>
#include<stdio.h>
#include<dos.h>
main()
{
int gdriver=DETECT,gmode,y=180,i;

initgraph(&gdriver,&gmode,""); /*初始化图形系统*/
cleardevice();
rect();/*调用画图函数*/

for(i=0;i<5;i++) /*点(120,180)到点(120,120)的数据发送*/
{
setcolor(RED);
outtextxy(90,100,"line is free,send message!");
circle(120,y,2);
sleep(1);
y=y-14;
y--;
}

getch();
closegraph();
}

rect()
{

setbkcolor(GREEN); /*背景颜色*/
setlinestyle(SOLID_LINE,3,3);/*设定线的类型*/
line(90,120,510,120); /*画直线*/
line(120,120,120,180);
line(240,120,240,180);
line(360,120,360,180);
line(480,120,480,180);
setcolor(YELLOW);
setfillstyle(SOLID_FILL,LIGHTGRAY); /*填充矩形颜色*/
bar(90,180,150,240); /*画巨型框*/
bar(210,180,270,240);
bar(330,180,390,240);
bar(450,180,510,240);
outtextxy(95,210,"site 1"); /*在矩形框内标明站点序号*/
outtextxy(215,210,"site 2");
outtextxy(335,210,"site 3");
outtextxy(455,210,"site 4");

}

搜索更多相关主题的帖子: 图形 动画 
2006-12-04 15:50
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
可以用清屏函数clear(),不过每画一步都清一次屏实在太影响效率了,可以直接用画圆函数在原位置上用背景色再画一次,就可以覆盖掉原先的那个了。
另,XOR模式也是一个办法,不过我不喜欢,也就不多说了。
2006-12-04 17:34
ensonpan3927
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-7-7
收藏
得分:0 

谢谢斑竹,可是c函数里有“清屏函数clear()”吗?还有用背景色重画圆那小圆的颜色不是跟背景色一样了吗?效果就不好了,还望斑竹再指教一下!

2006-12-04 18:43
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
A.如果球的背景是单色,那你可以在画新球之前先用背景色在老位置上画个球,用以覆盖原来的球,这不存在效果好不好的问题;
B.如果球的背景不是单色(比如是图案),那可以在画球之前先用getimage()函数把将要用来作画的一块小区域保存起来,球的位置变动要重画之前先用putimage()将上面保存的那块区域原处显示出来,这样背景图案就恢复了。这样,再保存下一个要“弄脏”的位置,画球,再恢复……这就是“脏矩形”算法的基本思路。
你的程序无外乎以上两种情况,是哪种你选哪个方案,实现过程中出了问题是代码组织的问题,多思考多调试,搞定它要的只是时间。
2006-12-05 10:24
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
另,clear()更正为cleardevice()因为我几乎不用graphics库,所以函数名记不太清。
2006-12-05 10:26
快速回复:[求助]c图形的擦除问题与动画问题
数据加载中...
 
   



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

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