1. 程式人生 > 其它 >用psychtoolbox獲取按鍵KbGet——使用例程改動

用psychtoolbox獲取按鍵KbGet——使用例程改動

技術標籤:psychtoolboxmatlab

#用psychtoolbox獲取按鍵KbGet——使用例程改動

接著上一篇關於KbGet的程式碼詳解,我發現網上給出的使用例程對新手不是很友好,所以我寫了一個比較適合我自己除錯的版本。

%原文 http://my.oschina.net/u/1387924/blog/379421
%alsa_shui改動

close all;
clearvars;
sca;

try

KbName('UnifyKeyNames');

Screen('Preference', 'SkipSyncTests', 1);

[winPt, winRect]=Screen
('OpenWindow',1,175, [500 300 800 370]); keyUp = KbName('UpArrow'); keyDown = KbName('DownArrow'); keyLeft = KbName('LeftArrow'); keyRight = KbName('RightArrow'); lastsecs = 0; key = 0; disp_txt = ''; Screen('DrawText',winPt,'play as you like,press esc to escape',0,0,0); Screen('Flip',winPt); while key ~
= KbName('Escape') [secs, key] = KbGet(); if key == keyUp disp_txt = 'up'; elseif key == keyDown disp_txt = 'down'; elseif key == keyLeft disp_txt = 'left'; elseif key == keyRight disp_txt = 'right'; elseif key ~= 0 disp_txt =
['you presssed' num2str(KbName(key))]; end Screen('DrawText',winPt,disp_txt,0,0,0); time = secs - lastsecs; Screen('DrawText',winPt,['the time duration is' num2str(time) 's'],0,24,0); Screen('Flip',winPt); lastsecs = secs; end Screen('CloseAll'); catch Screen('CloseAll'); Priority(0); psychrethrow(psychlasterror); end