值选择菜单
在处理某些事件时,您会注意到一个笔图标出现。这被称为值选择菜单,因为它允许您选择并指示要记录或跟踪的值种类。这是一个非常强大和重要的选项,您必将在实验设计和设置中使用。
该笔图标 / 值选择菜单出现在事件系统中某些动作的不同位置,例如设置 / 记录变量操作、设置对象属性操作和需求(如果……那么)操作,如下所示。

单击笔图标会出现一个下拉菜单,您可以在其中指定要读取或写入的值。下拉菜单将始终首先列出特定触发器值选项,然后继续显示其他5个类别(当前时间、常量值、变量、帧/任务/选项和操作),所有这些都有自己的选项。 这些将在下面进一步描述。

上面的图像显示了在使用鼠标触发器时值选择菜单的外观。如您所见,左侧的第一个菜单项以特定触发器类别开头,然后转到其他5个类别(当前时间等)。
菜单选项
下表进一步解释了这些类别和选项:
| 类别 | 选项 | 描述 |
|---|---|---|
特定触发器 | 取决于您先前为事件选择的触发器类型。 | 根据您为事件选择的触发器,您将会在值选择菜单的顶部出现特定选项列表供选择。请参阅特定触发器值部分,以查看完整的选项和描述列表。 |
当前时间 | 测量和调用时间值。 | |
常量值 |
| 根据您需要的变量类型(如字符串或数值)分配常量值。这些有时与其他选项如算术结合使用以创建计数器。 |
变量 |
| 指定或引用变量,或从数组或数据框中选择值。 |
帧/任务/对象 |
| 允许您获取与对象属性、帧、眼动追踪(如果激活)和设备(屏幕刷新率)相关联的值。 |
操作 |
| 使用操作对您的变量执行指定的更改,例如组合变量值、将字符串转换为小写或运行数学操作。 |
当前时间值
使用“当前时间”选项,您可以记录或引用与时间相关的值。
提供的选项如下:
当前时间:UNIX时间戳
此值捕获以毫秒为单位的UNIX格式时间戳。
当前时间:帧开始时间
此值捕获从帧开始过去的时间。通常,这相当于反应时间。
常量值
根据您需要的变量类型(如字符串或数字)分配常量值。这些有时与其他选项如算术结合使用以创建计数器。
提供的选项如下:
常量:字符串
分配字符串/文本值。
常量:数值
分配数值/数字值。
常量:布尔
分配真或假的值。
常量:分类
分配等级值(主要用于因子)。
常量:日期
分配日期值。
常量:时间
分配时间值。
常量:颜色
分配颜色(十六进制字符串)值。
变量值
指定或引用一个变量,或从数组或数据框中选择一个值。提供的选项如下:
选择变量
允许您选择并指向一个变量。
从数组中选择值
允许您从数组中选择一个值。
从数据框中选择值
允许您从您创建的数据框中选择一个值。
帧/任务/对象值
允许您获取与对象属性、帧、眼动追踪(如果激活)和设备(屏幕刷新率)相关联的值。
对象属性
读取对象属性。
帧
| 帧值选项 | 描述 |
|---|---|
最后缓存的鼠标 X 位置 | 参与者鼠标的最后 X 坐标值。 |
最后缓存的鼠标 Y 位置 | 参与者鼠标的最后 Y 坐标值。 |
最后缓存的鼠标 [X,Y] 数组 | 参与者鼠标的最后 [X,Y] 坐标值,格式为数组。 |
帧名称 | 帧的名称。 |
眼动追踪
| 眼动追踪值选项 | 描述 |
|---|---|
最后缓存的坐标 X | 参与者目光的最后 X 坐标值。 |
最后缓存的坐标 Y | 参与者目光的最后 Y 坐标值。 |
最后缓存的坐标 [X,Y] 数组 | 参与者目光的最后 [X,Y] 坐标值,格式为数组。 |
最后缓存的坐标 + 时间 [X,Y,T] 数组 | 参与者目光的最后 [X,Y] 坐标值,加上镜头捕获的 T 值,格式为数组。 |
设备
- 刷新率: 参与者设备的刷新率值。
操作
使用操作对您的变量执行指定的更改,例如组合变量值、将字符串转换为小写或运行数学操作。
提供的选项如下:
算术
算术操作对许多不同的目的非常有用,包括组合字符串甚至修改对象属性。

基本上,算术操作允许您在多个值上执行操作。
选择该选项后,将出现额外的笔图标(即值选择菜单),以及一系列操作,例如加法。

这些值可以通过以下5种不同的操作进行处理:
- (+) 加法
- (-) 减法
- (/) 除法
- (*) 乘法
- (%) 取模
下面的示例显示了如何利用算术操作创建一个新的字符串变量(在绿色按钮中),称为 'intermediateVar'。

新变量值('intermediateVar')是通过将多种算术操作与先前创建的变量(即 'userChatName' 和 'chatInput')组合使用来定义的,并结合了常量字符串值, 即分号 :和换行符 <br>。此操作实现了用户聊天的效果,可以用于多用户研究。
字符串操作
| 字符串操作选项 | 描述 |
|---|---|
转为小写 | 将字符串变量中的所有字母更改为小写字母。 → 示例: (AAABBB) 转换为 (aaabbb) |
转为大写 | 将字符串变量中的所有字母更改为大写字母。 → 示例: (aaabbb) 转换为 (AAABBB) |
转为链接 | 将变量中的字符串转换为可以在另一个窗口中打开的URL |
移除空格 | 移除字符串变量中字母之间的空格。 → 示例: (aaa bbbb cccc) 转换为 (aaabbbbccc) |
修整空格 | 移除字符串变量开头的空格。 → 示例: ( aaabbbcccc) 转换为 (aaabbbcccc) |
替换子字符串正则表达式 | 替换字符串值变量中特定字母。 → 示例: (aaabbbccc) 将 bbb 替换为 xxx,使值变为 (aaaxxxccc) |
数学操作
对标量值执行数学操作。
| 数学操作选项 | 描述 |
|---|---|
绝对值 | 返回值的绝对数。 |
平方根 | 返回值的平方根。 |
四舍五入 | 返回0到3位小数的四舍五入值。 |
向下取整 | 返回向下取整的值。 |
向上取整 | 返回向上取整的值。 |
余弦 | 返回余弦值。 |
正弦 | 返回正弦值。 |
正切 | 返回正切值。 |
特定触发器值
特定触发器值是指与在特定事件中定义的触发器相关联的值。例如,如果您的事件使用鼠标触发器,则在指定操作的某些区域下(例如使用设置/记录变量操作或设置对象属性操作时),您可以在值选择菜单中引用与鼠标触发器特定的值。
在下面的示例中,使用鼠标触发器的特定值记录 x 和 y 值以及使用设置/记录变量操作的 [X,Y] 数组。

以下是 Labvanced 中可以找到的所有特定触发器值类型的表格,后面跟着每个选项的详细解释。
| 名称 | 值选项 - 概述 |
|---|---|
触发器(鼠标) |
|
触发器(键盘) |
|
触发器(按钮栏) |
|
触发器(输入时按下) |
|
触发器(滚动) |
|
触发器(游戏手柄/操纵杆) |
|
触发器(眼动追踪注视) |
|
触发器(眼动追踪固定) |
|
触发器(头部追踪) |
|
触发器(任务初始化时) |
|
触发器(帧初始化时) |
|
触发器(帧开始时) |
|
触发器(帧结束时) |
|
触发器(变量值更改) |
|
触发器(媒体对象触发) |
|
触发器(WebSocket触发) |
|
触发器(OpenAI触发) |
|
触发器(全局实验事件) |
|
触发器(用户离开实验) |
|
触发器(鼠标)值
使用鼠标触发器时,以下特定触发器值可以在处理某些操作时调用:

| 触发器(鼠标)选项 | 描述 |
|---|---|
鼠标 X | 返回框架坐标中的当前鼠标 X 位置。 |
鼠标 Y | 返回框架坐标中的当前鼠标 Y 位置。 |
鼠标 [X,Y] 数组 | 鼠标的 [X,Y] 坐标,格式为数组。 |
刺激名称 | 触发事件的对象名称(例如,单击了哪张图像)。 |
刺激信息 | 触发事件的对象的刺激信息。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(键盘)值
使用键盘触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(键盘)选项 | 描述 |
|---|---|
按键ID | 被按下的键的ID值。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(按钮栏)值
使用按钮点击触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(按钮栏)选项 | 描述 |
|---|---|
刺激名称 | 触发事件的按钮对象名称。 |
刺激信息 | 触发事件的按钮对象的信息。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(输入时按下)值
使用输入时按下触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(输入时按下)选项 | 描述 |
|---|---|
按键ID | 被按下的键的ID值。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(滚动)值
使用滚动触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(滚动)选项 | 描述 |
|---|---|
刺激名称 | 触发事件的按钮对象名称。 |
刺激信息 | 触发事件的按钮对象的信息。 |
滚动位置 X | 当事件被触发时鼠标的水平滚动位置。 |
滚动位置 Y | 当事件被触发时鼠标的垂直滚动位置。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到滚动触发发生的耗时(以毫秒计)。 |
触发器(游戏手柄/操纵杆)值
使用游戏手柄/操纵杆触发时,以下特定触发器值可以在处理某些操作时调用:

| 触发器(游戏手柄/操纵杆)选项 | 描述 |
|---|---|
游戏手柄设备ID | 已连接的游戏手柄的ID或名称。 |
按下的按键(数组) | 被按下的按键。 |
按下或保持的按键(数组) | 被按下或保持的按键。 |
释放的按键(数组) | 被释放的按键。 |
轴(数组) | 轴值。 |
游戏手柄时间戳(Unix时间) | 游戏手柄的时间戳,格式为Unix时间。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间。 |
触发器时间(从帧开始) | 相对于帧的开始,触发发生的时间戳(Unix时间)。 |
触发器(眼动追踪注视)值
使用眼动追踪注视触发器时,以下特定触发器值可以在处理某些操作时调用:

| 触发器 (眼动追踪注视) 选项 | 描述 |
|---|---|
坐标 X | 注视的 X 坐标值。 |
坐标 Y | 注视的 Y 坐标值。 |
坐标 [X,Y] 数组 | 注视的 X,Y 坐标,格式为数组。 |
刺激名称 | 启动注视触发的刺激名称。 |
刺激信息 | 启动注视触发的刺激背后的信息。 |
摄像头捕获时间 T | 快照发生的确切时间。在 Labvanced 眼动追踪管道中,摄像头快照先发生,然后算法和神经网络进行注视计算。因此,摄像头捕获时间 T 是初始快照发生的UNIX时间戳。有关我们基于网络摄像头的眼动追踪技术的更多信息,请参阅我们的ET技术页面。 |
注视置信度 C | 此值范围为0到1,表示图像快照中有开放眼睛的置信度和概率,基本上充当“眨眼检测器”。有关更多详细信息,请参阅我们发表的同行评审论文。 |
坐标 + 时间 [X,Y,T] 数组 | 包含注视的 x/y 坐标和摄像头捕获时间(T)的时间戳的数组,如上所述。 |
坐标 + 时间 + 置信度 [X,Y, T,C] 数组 | 包含注视的 x/y 坐标,以及摄像头捕获时间(T)和注视置信度(C)的时间戳的数组,如上所述。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(眼动追踪固定)值
使用眼动追踪固定触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器 (眼动追踪固定) 选项 | 描述 |
|---|---|
注视重心 X | 注视的中心点的 X 值。 |
注视重心 Y | 注视的中心点的 Y 值。 |
注视持续时间 | 检测到的注视的持续时间。 |
注视开始时间 | 检测到的注视的开始时间。 |
注视结束时间 | 检测到的注视的结束时间。 |
注视分散 | 指在检测到的注视中注视值的分散程度。 |
刺激名称 | 触发事件的按钮对象名称。 |
刺激信息 | 触发事件的按钮对象的信息。 |
[X, Y, Dur, Start, End, Disp] | 由以下内容组成的数组:注视重心的 x 和 y 值,注视的持续时间,开始时间,结束时间和分散值。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的耗时(以毫秒计)。 |
触发器(头部追踪)值
使用头部追踪触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器 (头部 追踪) 选项 | 描述 |
|---|---|
摄像头捕获时间 T | 摄像头捕获帧的时间,即帧捕获发生的Unix时间戳。这是快照进行处理之前捕获图像/帧的时间。 |
头部转动 | 从左到右的头部旋转,文献中称为偏航(yaw)。 |
头部倾斜 | 从上到下的头部倾斜,文献中称为俯仰(pitch)。 |
头部滚转 | 捕获头部从一侧滚动到另一侧的运动。 |
头部位置 [X,Y, T] 数组 | 此数组捕获与头部位置相关的数值,包括头部中心的 x 和 y 坐标以及时间戳变量(T)。 |
鼻部位置 [X,Y, T] 数组 | 此数组捕获鼻部位置的数值,包括鼻部位置的 x 和 y 坐标及测量发生时的时间戳变量(T)。 |
鼻部向量 [X,Y, Z, T] 数组 | 此测量通过从鼻尖投影一个向量工作,有助于测试参与者是否在注意屏幕(对于未启用眼动追踪的研究尤其重要)。因此,如果鼻子指向屏幕外(即参与者未在关注实验),则Z值从1减少并接近0。 |
触发器时间戳(Unix时间) | 触发发生时间的时间点,记录检测到头部追踪,并说明触发在系统中发生的时间。基本上,这是图像/帧处理发生的时间,此值受到参与者的显卡影响。理论上,它应该尽可能接近值 T。 |
触发器时间(从帧开始) | 这是触发发生的时间值,与帧开始时间相关。 |
触发器(任务初始化时)值
使用任务初始化触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(任务初始化时)选项 | 描述 |
|---|---|
触发器时间戳(Unix时间) | 触发的Unix时间戳,以毫秒为单位。 |
触发器时间(从帧开始) | 从帧开始到触发发生的时间,以毫秒计。 |
触发器(帧初始化时)值
使用帧初始化触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(帧初始化时)选项 | 描述 |
|---|---|
实验号 | 帧初始化触发发生时的实验号。 |
触发器时间戳(Unix时间) | 触发发生时的Unix时间戳,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到触发发生的时间,以毫秒计。 |
触发器(帧开始时)值
使用帧开始触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(帧开始时)选项 | 描述 |
|---|---|
触发器时间戳(Unix时间) | 触发发生时的Unix时间戳,以毫秒为单位。 |
触发器时间(从帧开始) | 从帧开始到触发发生的时间,以毫秒计。 |
触发器(帧结束时)值
使用帧结束触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(帧结束时)选项 | 描述 |
|---|---|
总帧时间 | 在帧上花费的总时间(以毫秒计)。 |
触发器时间戳(Unix时间) | 触发发生时的Unix时间戳,以毫秒为单位。 |
触发器时间(从帧开始) | 从帧开始到触发发生的时间,以毫秒计。 |
触发器(变量值更改)值
使用变量值更改触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(变量值更改)选项 | 描述 |
|---|---|
变量中新值 | 指变量的新值。 |
触发器时间戳(Unix时间) | 触发变量更改时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到变量值更改发生的耗时,以毫秒计。 |
触发器(媒体对象触发)值
使用媒体对象触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(媒体对象触发)选项 | 描述 |
|---|---|
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到媒体对象触发发生的耗时,以毫秒计。 |
触发器(Websocket触发)值
使用WebSocket触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(Websocket触发)选项 | 描述 |
|---|---|
消息 | 可以用来描述和标记的消息,允许您(在接收端)过滤不同类型的数据。 |
数据 | 可以包含不同类型数据的值,例如参与者的选择、时间戳、鼠标 x/y 坐标等。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到WebSocket触发发生的耗时,以毫秒计。 |
触发器(OpenAI触发)值
使用OpenAI触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(OpenAI触发)选项 | 描述 |
|---|---|
Chat GPT 答案 | 来自 ChatGPT 的答案值。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到OpenAI触发发生的耗时,以毫秒计。 |
触发器(全局实验事件)值
使用暂停/恢复实验触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器(全局实验事件)选项 | 描述 |
|---|---|
总帧时间 | 指在触发之前的总帧时间。 |
全局事件的原因 | 表示触发原因的字符串值,例如参与者离开研究。 |
触发器时间戳(Unix时间) | 触发发生时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到全局事件触发发生的耗时,以毫秒计。 |
触发器(用户离开实验)值
使用参与者离开多用户研究触发器时,以下特定触发器值可以在处理某些操作时调用:
| 触发器 (用户 离开实验) 选项 | 描述 |
|---|---|
剩余参与者人数 | 研究中剩余参与者的数量。 |
触发器时间戳(Unix时间) | 触发用户离开实验时的时间戳,格式为Unix时间,精确到毫秒。 |
触发器时间(从帧开始) | 从帧开始到用户离开实验触发发生的耗时,以毫秒计。 |