我就是找不到一种方法让我的程序休眠或者让它等待一定的毫秒数,我试过sleep(),但它只能工作整整几秒,usleep()给出了隐式声明错误,并将其纠正为sleep(),nanosleep()也只能暂停整整几秒。
while(1){
wclear(win);
box(win, 0, 0);
mvwprintw(win, 0, anim, "Snake");
wrefresh(win);
sleep(500);
if(intro == 3){
if(anim < 53) anim++;
else intro--;
}
if(intro == 2){
if(anim > 2) anim--;
else intro--;
}
if(intro == 1){
if(anim < 23) anim++;
else intro--;
}
if(intro == 0) break;
}
所有我想要的是使一个平滑的小动画,但无论我使用什么库或什么样的睡眠功能,我使用,它将要么做完整的秒这是太长,或0秒(所以什么都没有),或抛出错误。
1条答案
按热度按时间fhg3lkii1#
这里有一些想法来探索为什么
usleep
不起作用。select
是另一种流行的延迟时间的方法。此外,尝试使用编译器来揭示
unistd.h
的来源,就像gcc
的情况一样另一个有用的想法是输出预处理器输出,如下所示:
下面是一些使用
select
创建超时的代码。