简单的c语言提问

[复制链接]
查看11 | 回复2 | 2011-2-16 13:17:53 | 显示全部楼层 |阅读模式
#include
#include
void main()
{

initgraph(640, 480);

int x = 320;

// 画初始图形

setcolor(YELLOW);

setfillstyle(GREEN);

fillellipse(x, 240, 20, 20);

char c;

while(c != 27)

{

// 获取按键

c = getch();


// 先擦掉上次显示的旧图形

setcolor(BLACK);

setfillstyle(BLACK);

fillellipse(x, 240, 20, 20);

// 根据输入,计算新的坐标

switch(c)

{

case 'a': x-=2; break;

case 'd': x+=2; break;

case 27: break;

}

// 绘制新的图形

setcolor(YELLOW);

setfillstyle(GREEN);

fillellipse(x, 240, 20, 20);

// 延时

Sleep(10);

}

closegraph();
}
我用power easy x库,用delpy_fps控制循环次数,要怎样实现按一个键可以惯性移动问题补充:
因为教程上说要用kbhit实现惯性移动,但是它用sleep的话图形不平滑,我想用delay_fps(60),是power easy x的库,也就是控制循环每秒60次,但是这样的话不能每次循环都读入按键,我表达的可能不太清楚,如果可以的话想帮助我hi我,麻烦了,上面贴的是教程的代码,我自己的还没写好,可以教教我么

回复

使用道具 举报

千问 | 2011-2-16 13:17:53 | 显示全部楼层
控制循环每秒60次,这样的话确实不大可能手动输入按键,这样,你可以把delay_fps(60)中的参数设成一个变量,如下例:
y=50;
delay_fps(y);
y+=2;这样的话就不就可以实现了吗?以上,仅供参考,虽然学过图形学,但是对你说的还是有些不明白。。。
回复

使用道具 举报

千问 | 2011-2-16 13:17:53 | 显示全部楼层
这是turbo c上的?现在用vc
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行