mouse - Turbo C++ 中的鼠标接口
问题描述
我正在尝试将交互式鼠标接口添加到我的程序中,但我无法理解其中的需要delay()
。
这是代码:
do
{
getmousepos(&button,&x,&y);
if(button==1)
{
delay(500);
xx[i] = x;
yy[i] = y;
i++;
}
}while(!kbhit());
不知道delay()
这里做什么。因为如果按下按钮,坐标无论如何都会分配给它们各自的数组。那么需要添加什么延迟呢?
该程序delay()
给出了正确的输出。
但如果我删除它,屏幕上不会打印任何内容。
在这种情况下,什么如此重要delay()
?
解决方案
Turbo C++ ......这让我回来了。这是我所期待的事情以及为什么delay()
需要这样做。
您在这里拥有的是一个轮询循环。如果没有delay()
,您将在按钮为 1 时淹没xx[]和yy[]缓冲区,并且可能也会溢出它们。请记住,当您按下鼠标按钮时,计算机可以多次执行该循环。在某种程度上平衡了这一点。delay()
推荐阅读
- javascript - 更新交叉轴上的 D3 多线图
- javascript - Uncaught SyntaxError: Unexpected token 'if' & Uncaught ReferenceError: berechnung is not defined
- parse-platform - Parse.Object.saveAll 与单独保存相比有什么成本优势吗?
- html - 内容可编辑错误:选择所有文本然后键入,只出现第一个字母
- c - 结构和结构的第一个成员之间的指针别名
- python - Python 时间序列日期作为列到行
- mysql - 外键约束仍然存在
- java - 为什么Java堆栈使用不一致?
- r - 如何自动刷新 R 包中的数据源?特别是冠状病毒 CRAN 包数据
- android - 带有基于材质主题的自定义对话框的 Android 库