在我的 Matlab 脚本中,我希望用户有 5 秒钟的时间通过单击任何鼠标按钮来回答问题,或者没有鼠标单击来回答问题。如果用户单击鼠标按钮,脚本将继续。如果 5 秒后没有单击鼠标,脚本也会继续。任何想法如何做到这一点?
[x,y,MouseClick]=ginput(1);
我在一个tic
toc
循环中尝试过,并记录MouseClick
变量,但脚本会暂停,ginput
直到输入一些东西,它会永远在那里等待。如果没有输入,我需要它在 5 秒后继续前进。
这是代码:
for i=2:26
% display current letter
CurrentLetter=Data{i}{RowSelect};
letter = text (0.3, 0.5, CurrentLetter, 'fontsize', 400, 'color', 'r');
pause(0.5);
delete (letter); % blank screen
% allow 5 seconds to collect mouse click
tic;
MouseClick=0;
while (toc<=5);
pause(0.1);
[x,y,MouseClick]=ginput(1);
if MouseClick~=0
break; % stop loop if a mouse click has been pressed
end
end
% add up the scores and write them to an xls file
end