【发布时间】:2020-08-25 17:58:27
【问题描述】:
我在 Windows 10 系统上的 Psychtoolbox 上使用 MATLAB R2020a。我正在尝试根据用户提供的键盘响应在屏幕上呈现刺激。我正在使用 if-else 语句对此进行编码,但只显示固定十字,并且没有显示错误消息。当出现问号时,用户按下箭头键,并在此基础上呈现下一个刺激。
我也不确定如何区分启动任务时给出的 Kb 响应和问号后给出的响应。有人可以帮我解决这个问题吗?
% Question mark
Screen('FillRect', window, white);
Screen('DrawTextures', window, imageTexture, [], dstRects);
Screen('Flip', window)
KbStrokeWait;
% Experimental instructions
Screen('FillRect', window, grey);
Screen('DrawText', window, line3, screenXpixels*0.2, screenYpixels*0.4, white);
Screen('DrawText', window, line4, screenXpixels*0.2, screenYpixels*0.5, white);
Screen('Flip', window);
KbStrokeWait;
% Fixation cross
Screen('DrawLines', window, allCoords,lineWidthPix, white, [xCenter yCenter], 2);
Screen('Flip', window, [], 1);
WaitSecs(1);
% Draw rect frames
% Check the keyboard to see if a button has been pressed
[keyIsDown,secs, keyCode] = KbCheck;
% Present stimulus
if KbCheck == leftKey
Screen('DrawText', window, num2str(seq1), rightX, rightY, [0 1 0]);
Screen('DrawText', window, num2str(seq3), leftX, leftY, [1 0 1]);
Screen('Flip', window);
WaitSecs(0.5);
elseif KbCheck == rightKey
Screen('DrawText', window, num2str(seq2), leftX, leftY, [1 1 0]);
Screen('DrawText', window, num2str(seq3), rightX, rightY, [1 0 1]);
Screen('Flip', window);
WaitSecs(0.5);
elseif KbCheck == upKey
Screen('DrawText', window, num2str(seq1), rightX, rightY, [0 1 0]);
Screen('DrawText', window, num2str(seq2), leftX, leftY, [1 1 0]);
Screen('Flip', window);
WaitSecs(0.5);
end
【问题讨论】:
标签: matlab keyboard screen psychtoolbox