PsychoPy入門_02_按鍵等待&反應(yīng)時

不靠譜PsychoPy入門教程目錄:

  1. PsychoPy入門00安裝

  2. PsychoPy入門01文字和圖片的呈現(xiàn)

  3. PsychoPy入門02按鍵等待&反應(yīng)時

  4. PsychoPy入門03視頻和音頻的呈現(xiàn)

  5. PsychoPy入門04等級評定

  6. PsychoPy入門05循環(huán)和隨機

  7. PsychoPy入門06數(shù)據(jù)記錄

  8. PsychoPy入門07鼠標(biāo)的使用

  9. 用PsychoPy做視覺搜索任務(wù)實驗


上一篇里文字和圖片的呈現(xiàn)是提前設(shè)定好了固定的秒數(shù)壶谒,如果想讓它一直在屏幕上停留著,直到做出按鍵反應(yīng)再繼續(xù)怎么辦呢?比如給被試看一片兒指導(dǎo)語,等他讀完了按空格開始盼铁。

這時候就需要增加一個等待按鍵的語句。

我們沿用上次的代碼玫霎,把文字部分的內(nèi)容了一下褥蚯,是這樣的:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-

from psychopy import visual, core

win = visual.Window(fullscr = False, size = (1000,600), color = (-1,-1,-1))

text_1 = visual.TextStim(win, text = u'示例2',
                           height = 0.1,
                           pos = (0.0,0.2),
                           color = 'pink',
                           bold = True,
                           italic = True)
text_2 = visual.TextStim(win, text = u'',
                           height = 0.1,
                           pos = (0.0,-0.1),
                           color = 'violet',
                           bold = True,
                           italic = False)
text_2.text = u'請按任意鍵開始'

text_1.draw()
text_2.draw()
win.flip()
core.wait(2)

pic = visual.ImageStim(win, image = 'test_l.JPG')

pic.image = 'test_s.jpg'
pic.draw()
win.flip()
core.wait(2)

win.close()
core.quit()

按鍵等待

首先挚冤,import這里增加個event。

from psychopy import visual, core, event

然后core.wait(0)時間改為0赞庶,下面增加:

k_1 = event.waitKeys()

這里有兩個函數(shù)可以實現(xiàn)案件等待训挡,event.waitKeys()和event.getKeys()。略有不同歧强,waitKeys()可以設(shè)置最長等待時間澜薄,另外一個不行。還有運行上的差異摊册,詳情請查看官網(wǎng)event模塊肤京。

event.waitKeys()有三個參數(shù):maxWait=inf,最長等待時間默認(rèn)無限茅特,可以設(shè)置為數(shù)字忘分;keyList=None棋枕,默認(rèn)為空,按任何一個鍵都可以饭庞;timeStamped=False,時間戳熬荆,并不常用舟山。

這時候運行一下,文字的界面就會一直停留卤恳,直到你按個鍵才會繼續(xù)累盗。

如果我想直到從這個刺激出現(xiàn)開始,到被試做出反應(yīng)用了多長時間怎么做呢突琳?下面說一下用core.Clock()來記錄反應(yīng)時的方法若债。

反應(yīng)時

在文字刺激下方添加時鐘:

timer = core.Clock()

在刺激呈現(xiàn)之后重置時鐘,然后在按鍵反應(yīng)結(jié)束后獲取時間拆融。最后把鍵名和時間打印出來蠢琳。刺激呈現(xiàn)這部分的代碼就變成這樣。

text_1.draw()
text_2.draw()
win.flip()
core.wait(0)
timer.reset()           #重置時間0
k_1 = event.waitKeys()
timeUse = timer.getTime()       #獲取時間
print k_1, timeUse

這時候運行一下镜豹,隨便按個鍵傲须,會在output區(qū)域得到類似這樣的結(jié)果:['f'] 2.80920504301。list里是按鍵的結(jié)果趟脂,所用時間按秒計算泰讽,精度還是蠻高的。

反應(yīng)選擇

在圖片下面也增加一個按鍵等待昔期。

k_2 = event.waitKeys(keyList = ['f','j'])

給keyList一個列表已卸,這樣就只能按list里面指定的鍵才會繼續(xù)運行下面的代碼。

現(xiàn)在有兩個選項硼一,那么就可以根據(jù)按鍵的結(jié)果設(shè)置一個分支結(jié)構(gòu)累澡。通過對k_2的判斷來設(shè)置。

if k_2[0]=='f':
    # do someting
else:
    # do other

這里我讓按了‘f’鍵之后屏幕上出現(xiàn)一個“左字”般贼,按‘j’鍵后出現(xiàn)“右”字永乌。繼續(xù)使用上面的文字刺激。把do something的地方補充完整:

if k_2[0]=='f':
    text_1.text = u'左'
    text_1.draw()
    win.flip()
    core.wait(2)
else:
    text_1.text = u'右'
    text_1.draw()
    win.flip()
    core.wait(2)

好嘞具伍,運行一下試試瞧翅雏。

按鍵等待和反應(yīng)時的部分就說這些。


完整代碼如下:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-


#示例2
'''
    按鍵反應(yīng)
'''

#載入所需要的庫
from psychopy import visual, core, event

#創(chuàng)建窗口
win = visual.Window(fullscr = False, 
                    size = (1000,600),
                    color = (-1.0,-1.0,-1.0))

#文字
text_1 = visual.TextStim(win, text = u'示例2',
                               height = 0.12,
                               pos = (0.0,0.2),
                               bold = True,
                               italic = False,
                               color = 'pink')

text_2 = visual.TextStim(win, text = u'',
                               height = 0.1,
                               pos = (0.0,-0.2),
                               bold = True,
                               italic = False,
                               color = 'violet')
text_2.text= u'請按任意鍵繼續(xù)'

#時鐘
timer = core.Clock()

#呈現(xiàn)文字刺激
text_1.draw()
text_2.draw()
win.flip()
core.wait(0)
timer.reset()           #重置時間0
k_1 = event.waitKeys()
timeUse = timer.getTime()       #獲取時間
print k_1, timeUse


#圖像
pic = visual.ImageStim(win, image = 'test_l.JPG')

pic.draw()
win.flip()
core.wait(0)
k_2 = event.waitKeys(keyList = ['f','j'])

if k_2[0]=='f':
    text_1.text = u'左'
    text_1.draw()
    win.flip()
    core.wait(2)
else:
    text_1.text = u'右'
    text_1.draw()
    win.flip()
    core.wait(2)

'''
# 這里未做講解人芽,是我閑來無聊做了一個數(shù)字的倒計時望几。
dtimer = core.CountdownTimer(4)
while dtimer.getTime()>0:
    text_2.text = str(int(dtimer.getTime()))
    text_2.draw()
    win.flip()
'''
win.close()
core.quit()

就這些啦,有什么疑問或者建議請在下方評論萤厅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末橄抹,一起剝皮案震驚了整個濱河市靴迫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楼誓,老刑警劉巖玉锌,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異疟羹,居然都是意外死亡主守,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門榄融,熙熙樓的掌柜王于貴愁眉苦臉地迎上來参淫,“玉大人,你說我怎么就攤上這事愧杯∠巡牛” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵力九,是天一觀的道長耍铜。 經(jīng)常有香客問我,道長跌前,這世上最難降的妖魔是什么业扒? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮舒萎,結(jié)果婚禮上程储,老公的妹妹穿的比我還像新娘。我一直安慰自己臂寝,他們只是感情好章鲤,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咆贬,像睡著了一般败徊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掏缎,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天皱蹦,我揣著相機與錄音,去河邊找鬼眷蜈。 笑死沪哺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的酌儒。 我是一名探鬼主播辜妓,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了籍滴?” 一聲冷哼從身側(cè)響起酪夷,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎孽惰,沒想到半個月后晚岭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡勋功,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年坦报,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酝润。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡燎竖,死狀恐怖璃弄,靈堂內(nèi)的尸體忽然破棺而出要销,到底是詐尸還是另有隱情,我是刑警寧澤夏块,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布疏咐,位于F島的核電站,受9級特大地震影響脐供,放射性物質(zhì)發(fā)生泄漏浑塞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一政己、第九天 我趴在偏房一處隱蔽的房頂上張望酌壕。 院中可真熱鬧,春花似錦歇由、人聲如沸卵牍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糊昙。三九已至,卻和暖如春谢谦,著一層夾襖步出監(jiān)牢的瞬間释牺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工回挽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留没咙,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓千劈,卻偏偏與公主長得像镜撩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理袁梗,服務(wù)發(fā)現(xiàn)宜鸯,斷路器,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,522評論 25 707
  • 三月的麥地 已經(jīng)復(fù)活 每一棵麥子 都想起了自己的誓言 一陣風(fēng) 吹綠了它們的骨頭 一場雨 多么溫馨的告白
    簡村小吹閱讀 377評論 17 16
  • 世界上有兩件東西能夠深深地震撼人們的心靈 一件是我們心中崇高的道德準(zhǔn)則 另一件是我們頭頂上燦爛的星空 ——伊曼努爾...
    魔旅行閱讀 269評論 0 0
  • 這兩天由于小孩的濕疹,便秘加上老婆的乳腺炎锯梁,似乎過的有點糟糕即碗。也終于能夠深刻地理解,為什么會有產(chǎn)后抑郁了陌凳。剥懒。。 繁...
    紳紳的帥老爸閱讀 199評論 0 1