嘿我怎么用C ++做这个:
我有一个变量,当我按下键'+'
它应该增加一个,但是当我按住键超过500毫秒时,变量应该每隔500毫秒开始增加5,而我仍然按住按下按钮,它应该在我释放它时停止。
我知道getActiveKeyState()
函数,但我似乎无法按照我想要的方式工作。
我该如何进入这个?
答案 0 :(得分:0)
我不了解原生C ++函数,但它对SFML库很有用。
if (event.type == Event::KeyPressed){
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Add))
{
//start counter
if(count < 5) sum++;
else
sum+=5;
}
}
您可以使用WinApi执行相同的操作,但在这两种情况下,您都需要对计数器使用多线程/多处理,或者找到另一种方法来同步代码。
您可以尝试添加Sleep(500)
,这将使您的线程睡眠500毫秒或类似的东西。