Ncurses:运动

时间:2012-05-18 21:10:49

标签: c++ animation sprite

使用C ++和Ncurses进行编程运动时遇到问题。 我正在编程一个pacman,主要的问题是,我只想在时间段内按下最后一个按键。

当我使用 usleep 时,它会保存在睡眠期间按下的每个键,然后它会按顺序使用它。

感谢您的想法。

2 个答案:

答案 0 :(得分:1)

你尝试了什么?

如果我理解你想要实现的目标,那么这样的事情应该有用:

int t = your_delay;
while (t --> 0)
{
    sleep(1);
    c = getch();
}

如果你真的需要将它计时到微秒,这可能不是最好的方法,但是如果你有一些容忍度,那就足够了。

答案 1 :(得分:0)

你是否处于无延迟模式?如果是这样,这可能会有效:

usleep(your_delay);
last_key = ERR;
while ( (key=getch()) != ERR ) {
  last_key = key;
}
// "last_key" now holds most recent key, if there was one, else ERR