我不能让这个运动绑定到工作。我正在使用ncurses库,update_ch和oldch是全局变量。 KEYERR是一个宏设置为-120(我只是不处理那些按键)。我试图限制玩家,使他不能向上,向下,向左或向右,但他必须继续按下它们移动。它不起作用,你仍然可以按住键并移动。有什么建议?我的逻辑必须关闭。
if(update_ch != KEYERR)
{
oldch = update_ch;
}
update_ch = getch();
if(oldch == update_ch)
{
update_ch = KEYERR;
}
答案 0 :(得分:1)
我试图限制玩家 他不能举起,举起,离开,或举起 对,但他必须继续按下 他们搬家。
我很确定这对诅咒是不可能的。如果我没记错,curses只接收来自终端的字符。它无法控制有关该过程的任何内容。
如果用户持有按键而不是连续按下,则测量这些读数之间的时间可能会给您一个提示。我的意思是,当你阅读时,请记录以下内容
当您阅读某个值时,请询问以下内容:
如果它是相同的键并且时间差小于某个阈值,您可以决定他按住键。