E-Prime 软件中常用的 inline 语句

文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注。

E-prime 是一款基于 VB 语言进行编程的软件,与其他心理学常用编程软件(matlab,python,R 等)不同的是,E-prime 并不是使用纯代码的一款软件,而是以图形界面(GUI)呈现,可实现代码和 GUI 的结合,这就大大降低了其使用门槛。这里主要分享 E-Prime 中一些常用的 inine 语句。inline 语句要和 E-Prime 中的 label 控件搭配使用,感兴趣的小伙伴可以看看这篇文章干货分享|E-prime 3入门手册,有非常详细的步骤。

打开端口命令的语句

Stimulus.OnsetSignalEnabled = True(表示打开控件Stimulus的端口);

Stimulus.OnsetSignalPort = &H378(表示控件Stimulus的端口为H378);

Stimulus.OffsetSignalEnabled = True (表示关闭控件Stimulus的端口);

Stimulus.OffsetSignalPort = &H378(表示关闭控件Stimulus的端口为H378);

或者,用以下语句:

Stimulus.OnsetSignalData = c.GetAttrib("ciji")表示向ERPs发送控件Stimulus的刺激信号(Mark),这个刺激信号需从List控件中的“ciji”进行调用。

设计刺激界面或空屏随机呈现的语句

①设计刺激界面随机呈现,且随机呈现时间为500-1000ms,可用以下语句:

set Stimulus.duration= random (500,1000)

②设计空屏随机呈现(一般trial之间会设置一个随机空屏,有助于防止实验过程中出现期待效应),且随机呈现时间为800-1000ms,可用以下语句:

set blank.duration= random (800,1000)

注:这里的 Stimulus 或 blank 是指控件名称(可自定义名称,inline语句中的控件名称须与你想要随机的控件名称一致)。

选择语句

选择语句通常会结合 if 命令来使用,例如,根据被试判断自己是否还需要再次练习或进入正式实验、练习时的正确反应的概率达到指定要求跳转至正式实验等等,就需要用到 if 语句来实现。(Mark 必须用数字,且为 256 以内的自然数,大于 256 的数字将无法识别)

①实验过程中一般会给被试一些练习试次,让被试了解实验过程中如何进行按键反应。若被试准备好开始正式实验,要求按 q 键,若继续练习,则按p键。

If Practice.Resp = "p" Then     GoTo label1Else     GoTo label2End If

②若练习过程中的正确率高于 90%,则开始正式实验,否则继续练习。

If (N/Practice.Size) < 0.90 Then     N=0     GoTo label1Else     GoTo label2End If

③若练习过程中的正确率高于 90%,且反应时小于 500 毫秒,则开始正式实验,否则继续练习。

MeanRt=TotalRt/NCorrectPercent=CorrectN/N*100 If CorrectPercent>90 And MeanRt<500 Then   GoTo label2Else   GoTo label1End If

④若被试的反应为“F”或“J” ,则分别 Mark 为“1”或“2” ;没有作出反应则 Mark 为“3”。​​​​​​​

If Answer.resp = "F" ThenwritePort &H378,1ElseIf Answer.resp = "J" ThenwritePort &H378,2Else writePort &H378,3End If

⑤若被试的反应为“1”或“2” ,则分别 Mark 为“1”或“2” ;没有作出反应则 Mark 为“3”。If Answer.resp="1" Or Answer.resp="2" Then

WritePort &H378,c.GetAttrib("Answer.resp")Else WritePort &H378,3End If

被试中场休息语句

实验 block 比较多的话,一定要让被试进行适当的休息。否则有可能会因为疲劳效应等因素导致实验的准确性受到影响。中场休息可以用 GUI 界面的控件实现,也可以用 inline 语句实现。

Dim N As Integerrelax.duration=0relax.text="" N=N+1If N=60 Thenrelax.duration=CLng("-1")relax.text= "休息一下吧,按空格键继续!"N=0End If

注:Dim N As Integer 表示定义一个正数变量,用于计算试次数。如果要在多少个试次后进行中场休息,就需要提前定义一个变量,便于随着试次数累加计数。relax 是指休息控件,该控件里面无需填写内容,所以 relax.text 的初始赋值为"",引号里不用填写内容,且无空格。当执行试次加和后,如被试做完 60 个试次进行休息,则 relax.text 的""里赋值休息提示语句。休息后的计数器归零。

文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值