
设置 / 记录变量动作
Set / Record Variable 动作在包含它的事件触发的那一刻将一个值写入变量。它位于事件系统的 Variable Actions 类别中,是 Labvanced 中最常见的动作:几乎所有记录的行为测量和几乎所有驱动条件的变量在研究中都会在某一时刻经过它。
概述
一旦变量存在,Set / Record Variable 就是它如何实际获得一个值:反应时间、参与者的选择、运行分数、鼠标移动中的坐标对。没有它,变量在整个研究中会保持其起始值。

常见用例
Set / Record Variable 几乎出现在每种类别的研究中,从简单的按钮按压任务到完整的生理记录。
- 记录行为测量: 将反应时间、准确性分数或输入响应保存到变量中,以便它出现在导出的数据中。
- 构建计数器: 每当触发器触发时,将变量增加 1,以计算完成的试验、发生的错误或按钮点击。
- 捕获特定触发器的值: 将触发器提供的值(如鼠标 X/Y 坐标或注视位置)直接写入变量。
- 驱动条件逻辑: 设置一个变量,以便稍后的
Requirement Action检查以决定哪个分支的研究接下来运行。
所需背景知识
在深入了解此动作之前,建议你先了解变量创建的基本功能及其属性,如这些页面所描述的:
工作原理
要访问 Set / Record Variable,请打开 事件系统 在任务编辑器中并创建一个新事件。在 Add Action → Variable Actions 下,选择 Set / Record Variable。
一个简单的对话框将以方程的形式出现,分为两部分:

| 选项 | 描述 |
|---|---|
Select (绿色按钮) | 选择应该存储值的变量,在等号的左边。您还可以在此处不离开对话框创建一个新变量。 |
| 钢笔图标 | 打开 值选择菜单,在等号的右边,定义新值的实际内容:一个常数、另一个变量的当前值、特定于触发器的值或算术表达式。 |
这就是整个动作:选择一个变量,定义其新值,然后完成。对话框还显示一条固定行,“记录将在试验结束时进行”:当动作运行时,变量的值会立即在客户端更新,但该值仅在试验结束时发送到服务器并记录,而不是每次单独变化时。
一个实际场景:构建计数器。 Labvanced 中没有内置的特殊“计数器”变量,任何变量都可以作为一个计数器。创建一个符合您研究的名称的数字变量(例如 trial_count 或 error_count),然后使用值选择菜单中的 Arithmetic 选项,将该变量的新值设置为其自身加一,每当相关触发器触发时。这是 Labvanced 任务中试验计数器、错误计数器和点击计数器背后的相同机制,因此理解这种设置的工作原理对于理解该动作背后的功能非常重要。
在某些情况下,在构建任务时,您可能会看到一个对话框,询问您是否希望自动创建事件以捕获特定类型的数据,例如眼动追踪。接受此请求会为您建立触发器和一个 Set / Record Variable 动作,已经进行了配置,这与上述覆盖的动作和对话框完全相同。


工作流程提示
- 在构建之前规划变量: 在开始构建之前,确保您知道在研究中需要捕获的所有数据,并大致了解哪些变量需要创建以存储这些数据。
Set / Record Variable是执行该计划的地方,因此提前决定可以避免在构建过程中重新构建事件。 - 重用类似的动作而不是重新构建: 如果您在同一触发器下或研究的其他地方已经有一个类似的
Set / Record Variable动作,请使用Copy to Clipboard并将其粘贴到需要的地方,然后稍微编辑目标变量或值,而不是再次从头开始点击Select和值选择菜单。 - 将属于同一组的动作归类: 如果多个
Set / Record Variable动作通常一起出现,请围绕一个Action Group设计您的事件,该组包含它们。稍后移动或复制整组比单独处理每个动作更快。 - 首先检查自动事件设置: 在某些情况下,如眼动追踪、情绪检测或心率,Labvanced 可以为您提供构建触发器及其
Set / Record Variable动作的选项。检查该对话框是否可用,看看是否需要手动设置相同的内容。
研究与示例场景
来自已发布的 Labvanced 任务的两个真实示例,一个评分单一反应,另一个记录连续运动。
在 Flanker 任务中评分准确性
在 Flanker 任务 的 Main_task_desktop_Flanker 任务中,帧 3 (Response Window), 一个 Requirement Action 在 Response Recording & Progression 事件中检查按下的键是否与目标方向匹配。当匹配时,Set / Record Variable 将 accuracy 变量设置为 1。
记录鼠标轨迹数据
Web Bridge 鼠标追踪设置使用 Set / Record Variable 在每次鼠标移动时将 Mouse [Name, Info, X, Y] Array 特定于触发器的值写入变量。它将格式设置为 Array,记录类型设置为 Time series,采样方法设置为 record all (allow repeated duplicates),因此捕获每一个移动,而不仅仅是最新的一个。