Innerhalb meines Matlab-Skripts möchte ich, dass der Benutzer 5 Sekunden hat, um eine Frage zu beantworten, indem er eine beliebige Maustaste für echten oder keinen Mausklick für false klickt. Wenn der Benutzer eine Maustaste klickt, wird das Skript fortgesetzt. Wenn 5 Sekunden ohne Mausklick verstrichen sind, wird das Skript ebenfalls fortgesetzt. Irgendeine Idee, wie man das macht?Matlab: warten Sie auf bestimmte Zeit für Mausklick, dann weiter
Ich versuchte [x,y,MouseClick]=ginput(1);
innerhalb einer tic
toc
Schleife, und notieren Sie die MouseClick
Variable aber das Skript pausiert am ginput
bis etwas eingegeben wird, und es wartet dort für immer. Ich brauche es um nach 5 Sekunden weiterzugehen, wenn es keine Eingabe gibt.
Hier ist der Code:
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
Wie werden Sie Benutzer mit der Frage aufgefordert werden? – excaza
Bitte bearbeiten Sie Ihre Frage, um den Code einzufügen, den Sie verwenden, um das Fenster/die Figur/GUI zu generieren, in dem der Benutzer dazu aufgefordert wird. – Matt