【问题标题】:Psychopy builder expt. - how to add live updating text on screenPsychopy builder expt。 - 如何在屏幕上添加实时更新文本
【发布时间】:2016-02-12 07:24:39
【问题描述】:

我正在使用 Psychopy builder 创建一个实验。 向参与者呈现包含数字的图像,例如10 和 20。 他们输入他们认为是数字的平均值,在本例中为 15,然后按空格键转到下一张图片。

我正在尝试拥有它,因此屏幕上会出现一个显示/框,向他们显示他们的条目,因为在数十万和数百万中的更大数字我认为他们可能会忘记他们所按下的内容。 更改他们的条目的能力也很棒,但我最感兴趣的是他们能够在屏幕上看到它。

在 builder 中我找不到这样做的方法,而且评级量表不适用于大量数字。

我在代码中找到了这些解决方案来做一些听起来像这样的事情: http://www.psychopy.org/wiki/home.php/Snippets/LiveUpdatingText

但是,当我尝试使用代码插入功能添加它们,或者只是将它们添加到编译脚本时,当我尝试运行实验时屏幕锁定。我是 python 的新手,不知道从哪里开始解决这个问题。我正在尝试做的事情可能吗? 我很高兴提供一些来自已编译构建器实验的示例代码。 提前致谢!

【问题讨论】:

    标签: python psychopy


    【解决方案1】:

    这些代码 sn-ps 是为 Coder 设计的,您可以在其中控制正在发生的一切以及何时发生的事情。同样的事情可以在 Builder 中完成,但是您必须修改代码以适应 Builder 的事件循环周期。即 Builder 在实验开始、每次试验、每次屏幕刷新等时都会做某些事情。所以你不能不加修改就插入这种代码,因为,例如,它试图无限期地等待按键。与此同时,Builder 会在每次屏幕刷新时检查键盘(通常为 60 Hz),因此如果您尝试无限期地等待代码中的按键,您将停止 Builder 执行它需要执行的所有其他操作。

    本质上,您只需将代码分解为进入生成器代码组件中相应选项卡的 sn-ps(用于在实验开始时、每一帧等执行的代码),并避免像 event.waitKeys() 这样的无限函数,有利于通过 event.getKeys() 进行即时检查

    例如改编 Jonas Lindeløv 的第二个示例,在“开始例程”选项卡中,输入:

    chars = list('0123456789.') # the valid characters
    meanText = '' # start with an empty answer on each trial
    

    在“每一帧”选项卡中,输入如下内容:

    response = event.getKeys() # get a list of keys pressed at this instant
    
    if len(response) > 0: # if there was one,
    
        key = response[0] # just convenient shorthand 
    
        if key in chars:
            meanText = meanText + response[0]
    
        elif key == 'space':
            meanText = meanText + ' '
    
        elif key == 'backspace' and len(meanText) > 0:
            meanText = meanText[:-1]
    
        elif key == 'return':
            thisExp.addData('Answer', meanText) # save the response
            continueRoutine = False # finish this trial
    
    # update the appropriate text stimulus with the current response value:
    insertNameOfYourTextStimulusComponent.text = meanText
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2022-06-24
      • 2014-06-18
      相关资源
      最近更新 更多