监听器
监听器让你可以响应 Rive 文件中的交互、属性变化和其他事件。当监听器被触发时,它可以执行更新属性值、触发 Rive 事件或运行其他逻辑等操作。
监听器由三个主要部分组成:
使用监听器可以创建能够响应用户输入和状态变化的动态体验。
创建监听器
选择你希望监听器响应的元素。
如果要监听视图模型属性变化或 Rive 事件,请改为选择画板或嵌套组件。
在 Animations 面板中,点击 State Machine 旁边的图标以显示监听器。
点击 + 图标创建新的监听器,并选择该监听器应执行的动作。
选中监听器后,在右侧边栏中设置其 Target、Listen To 和其他选项。
选中监听器后,你会在右侧边栏中看到它的选项。
目标
Target 决定监听器要监听什么。目标可以是场景中的元素、画板或嵌套组件。
当你想监听元素上的交互(例如点击或拖拽)时,请使用元素作为目标。当你想监听视图模型属性变化、Rive 事件或属于该画板/组件的其他事件时,请使用画板或嵌套组件作为目标。
Opaque Target
Opaque Target 控制指针事件是在此监听器的命中区域停止,还是继续传递到其后方的元素。
启用 Opaque Target 时,指针事件会在目标处停止。禁用时,指针事件可以穿透目标,并触发下方的其他监听器。
监听
Listen to 是监听器要监视的条件。当条件满足时,监听器会被触发。
| Listen To | 说明 |
|---|---|
| View Model Property Change* | 每当所选视图模型属 性发生变化时触发。** |
| Rive Event* | 当 Rive 事件被触发时触发。 |
| Pointer Enter | 当指针进入目标区域时触发。 |
| Pointer Exit | 当指针离开目标区域时触发。 |
| Pointer Move | 当指针在目标区域上移动时反复触发。 |
| Pointer Down | 当指针在目标上按下时触发。 |
| Pointer Up | 当指针在目标上释放时触发。 |
| Click | 当目标被点击或轻点时触发。 |
* 当监听器目标是画板或嵌套组件时可用。
** View Model Property Change 监听器会在所选属性发生任何变化时触发。你不能指定期望值或变化方向。例如,Boolean 监听器会在值从 true 变为 false 或从 false 变为 true 时触发。
我们强烈建议使用 Data Binding 在画板之间通信,而不是依赖嵌套 Rive 事件。
监听器动作
监听器动 作会在监听器被触发时运行。
动作包括:
- 更改视图模型属性
- 将元素对齐到目标
- 上报事件
- 触发脚本动作
- 触发 Rive 事件
- 更新输入值(已弃用)
要添加监听器动作,请点击 State Machine Graph 下方面板中的 + 图标。
你可以为单个监听器添加多个动作。
你可以在监听器动作中使用数据绑定值。
Align Target
Align Target 动作会在监听器区域内触发监听器时,定位一个对象,使其跟随指针。
使用 Target Picker 选择你想要对齐的对象。
启用 Preserve Offset 可在动作触发时保持对象与指针之间的原始距离。禁用 Preserve Offset 时,对象会直接对齐到指针。