
设置 / 记录变量操作
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),以便捕获每次运动,而不仅仅是最新的运动。