我使用的 C++ 图形库具有函数 void WaitForMouseDown()
和 void WaitForMouseUp()
。 WaitForMouseDown 函数等待鼠标按钮被按下然后返回。 WaitForMouseUp 等待按钮被释放。
库中还有另一个函数 bool isMouseDown()
,如果鼠标按钮当前处于按下状态,则返回 true
。
现在,当用户第一次单击时,我必须开始循环执行某些操作,并继续循环,直到用户第二次按下鼠标。
我尝试了以下方法,但由于某种原因,第二次单击后程序崩溃了。有什么想法,我做错了什么吗?
int main(){
WaitForMouseUp();
while(!isMouseDown()){
//do something
}
return 0;
}
最佳答案
如果 //do some
不包括轮询鼠标或对窗口系统事件进行操作(即不调用您的库),则这里会出现明显的无限循环:isMouseDown
将始终返回 true
,因为将其设置为 false
的事件会在事件队列中休眠。
关于c++ - 如何保持循环直到函数返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8819610/