美文网首页轻松学习E-Prime
轻松学习E-Prime(三十一):用代码读取按键记录(Respo

轻松学习E-Prime(三十一):用代码读取按键记录(Respo

作者: 又玄机器 | 来源:发表于2020-10-02 10:00 被阅读0次

    我们虽然已经能够Advanced按钮设定来显示被试的按键,不过这终究不够灵活。
    通过查看帮助文件,我们会发现一个叫ResponseData的类,这个类下面还有好几个子类,如KeyboardResponseData,MouseResponseData。


    ResponseData及其子类

    这些类,都是用来记录相应的设备的反应数据的。如KeyboardResponseData是用户对键盘的按键的各方面数据记录。
    那接下来我们首先先看一下在帮助文档里的东西。
    ResponseData有这些属性:


    ResponseData的属性

    首先明白一点:一个ResponseData,对应一次反应。其中RESP就是按下的按键,如”A”键,”Shift”键等等,总之是你在刺激控件中按下的按键。
    听上去很抽象,那么请打开“示例程序3-11”,请查看里面的Inline1,看看代码和注释。
    这些代码是根据官方自带教程里的代码改编而成的。

    示例3-11的结构图 Inline1代码(1) Inline1代码(2)

    其中,你会注意到后面的代码里,有些代码在行的最后有下划线。
    这个下划线其实前面和后面各有一个空格,其作用是当一行代码太长的时候,可以用这个方式换行。注意空格是不可少的。
    试试看,里面是什么效果?
    具体各代码的作用,请看Inline1当中的注释。

    阶段练习

    ①设计一个程序,一个StimDisplay接收一次按键,这次按键可以是鼠标也可以是键盘。按键后,在屏幕上显示按下的是什么键,是鼠标还是键盘。并且,如果按下的是空格键,显示:“你刚才按了空格键。”
    提示:用If [ResponseData] .RESP = “{SPACE}” then 来检查。
    ②设计一个程序,一个StimDisplay接收两次键盘按键。检查两次按键是否是相同的,如果是相同的,那么显示“你刚才按了两个相同的按键”;否则,分别把两个按键在屏幕上显示出来。
    ③设计一个程序,一个StimDisplay只接收松开的按键。此外,如果是松开了空格键,那么显示“你刚才松开了空格键”,否则显示“你没有松开空格键”,然后重新显示该StimDisplay,直到被试按下空格键为止。


    此为开源免费教程。教程所用资源等请访问目录或专题,或者Github页面:
    https://www.jianshu.com/p/5bbf1c274370
    https://github.com/zkx654321/Learn-E-Prime-Easily

    相关文章

      网友评论

        本文标题:轻松学习E-Prime(三十一):用代码读取按键记录(Respo

        本文链接:https://www.haomeiwen.com/subject/iwkbuktx.html