我正在使用具有void WaitForMouseDown()
和void WaitForMouseUp()
功能的C ++图形库。 WaitForMouseDown函数等待,直到按下鼠标按钮然后返回。 WaitForMouseUp等待释放按钮。
如果鼠标按钮当前处于关闭状态,库bool isMouseDown()
中还有另一个函数返回true
。
现在,我必须在用户第一次点击时开始循环,并保持循环直到用户第二次按下鼠标。
我尝试了以下方法,但由于某种原因,程序在第二次点击后崩溃。任何想法,我做错了什么?
int main(){
WaitForMouseUp();
while(!isMouseDown()){
//do something
}
return 0;
}
答案 0 :(得分:3)
如果//do something
不包括轮询鼠标或操作窗口系统事件(即没有调用你的库),那么你在这里有明显的无限循环:isMouseDown
将始终返回{{ 1}}因为将其设置为true
的事件将在您的事件队列中休眠。
答案 1 :(得分:0)
我认为应该是
int main()
{
WaitForMouseUp();
bool done = false;
while(!done) {
//do something
done = isMouseDown();
}