跳转至

jspsych-vsl-animate-occlusion plugin

这个插件(VSL,visual statistical learning)的作用是呈现一系列运动的图形,它们会消失在一个矩形的遮挡物后面,重新出现时会变成另一个图形。可以用当前插件复现下面文献中的实验:

Fiser, J., & Aslin, R. N. (2002). Statistical learning of higher-order temporal structure from visual shape sequences. Journal of Experimental Psychology: Learning, Memory, and Cognition, 28(3), 458.

依赖

这个插件需要Snap.svg库,可以在http://www.snapsvg.io找到。你需要在实验代码文件的<head>部分引入该库。

参数

除了适用于所有插件的参数,当前插件还接受以下参数。我们必须对默认值为 undefined 的参数进行赋值,而对于其他参数,如果不需要则不用进行赋值。

参数 类型 默认值 描述
stimuli 数组 undefined 数组的每一个元素都对应了一个刺激,即图片文件的路径。数组中刺激的顺序决定了动画中刺激的出现顺序。
canvas_size 数组 [400, 400] 该数组定义了动画区域的宽度和高度。刺激最远会移动到该区域的边界,所以如果增加了该区域的宽度同时不增加timing_cycle参数可以加速图片的运动。
image_size 数组 [100, 100] 该数组定义了图片的宽度和高度。矩形遮挡物的宽度和图片宽度相等。
initial_direction 字符串 "left" 刺激一开始运动的方向(后面的运动会改变方向)。取值可以是"left"或"right"。
occlude_center 布尔 true 如果为true,则会在屏幕中央呈现矩形遮挡物,该遮挡物的宽度恰好可以在图片到达它后面时将其完全遮住。
choices 字符串数组 jsPsych.ALL_KEYS 包含了被试可以做反应的按键范围。按键应该以字符串的形式说明(例如:'a', 'q', ' ', 'Enter', 'ArrowDown')—— 更多的示例参见这里这里 (event.key一列)。不在范围内的按键反应不会被记录。默认值是jsPsych.ALL_KEYS,即所有按键都是有效的。如果将当前参数值设为jsPsych.NO_KEYS,则不允许被试按任何键。
cycle_duration 数值 1000 序列中一个刺激循环一次(移动到边界再回到中央)所需要的毫秒数。
pre_movement_duration 数值 500 刺激从中间矩形遮挡物后面移出前等待的时间。

数据

除了所有插件默认都会收集的数据,当前插件还会记录以下数据。

Name Type Value
stimulus 数组 数组中每一个元素对应序列中的一个刺激,顺序和它们的呈现顺序一致。在后面使用.json().csv()方法保存数据时,该数组会以JSON形式存储起来。
response 数组 记录了被试反应信息的数组。数组中的每一个元素是一个对应着被试反应的对象,包含了三个属性:key是被试按的键,stimulus是做反应时呈现的刺激的序号,rt是被试反应时距离序列开始经过的时间。在后面使用.json().csv()方法保存数据时,该数组会以JSON形式存储起来。

示例

呈现简单的序列

var trial = {
  type: 'vsl-animate-occlusion',
  stimuli: [
    "img/1.gif",
    "img/2.gif",
    "img/3.gif",
    "img/4.gif",
    "img/5.gif",
    "img/6.gif",
    "img/7.gif",
    "img/8.gif",
    "img/9.gif",
    "img/10.gif"
  ]
}