我正在编写一个程序,在某个程序中绘制图形并在屏幕上显示.然后用户需要按’y’或’n’接受或拒绝图表.我目前的解决方案使用PsychToolbox(实际解决方案不需要),其中包括一个名为’KbCheck’的命令,该命令在调用所有键盘按钮的状态时进行检查.我的代码如下所示:
function [keyPressed] = waitForYesNoKeypress
keyPressed = 0; % set this to zero until we receive a sensible keypress
while keyPressed == 0 % hang the system until a response is given
[ keyIsDown, seconds, keyCode ] = KbCheck; % check for keypress
if find(keyCode) == 89 | find(keyCode) == 78 % 89 = 'y', 78 = 'n'
keyPressed = find(keyCode);
end
end
问题是,在按下某个键之前,系统确实会“挂起”.理想情况下,我可以滚动,缩放,并且通常与屏幕上绘制的图形进行交互,这样我就可以真正决定是否要按’y’或’n’!
我试过添加’drawnow;’进入上面的while循环,但这不起作用:在我接受或拒绝之前,我仍然无法与绘制的图形进行交互.
解决方案不必使用PsychToolbox;我假设还有很多其他选择吗?
谢谢