输入
⚠️ 已弃用:请使用数据绑定代替输入来控制 Rive 动画
在运行时控制输入以驱动状态机行为。
从 StateMachine 实例中获取输入。
通过 RiveWidgetController 直接访问状态机:
final riveController = RiveWidgetController(riveFile);
final stateMachine = riveController.stateMachine;
final myTrigger = stateMachine.trigger('myTrigger');
final myBool = stateMachine.boolean('myBool');
final myNumber = stateMachine.number('myNumber');
与输入交互:
myTrigger.fire(); // 触发器输入
myBool.value = true; // 设置布尔输入
myNumber.value = 42.0; // 设置数字输入
使用完毕后释放输入:
myTrigger.dispose();
myBool.dispose();
myNumber.dispose();
状态机由控制器拥有。当你释放控制器时,状态机也会被释放。
controller.dispose();
嵌套输入
访问位于画板或组件实例内更深层嵌套的状态机中的输入。
要设置上述示例中的 Volume 输入:
// 从状态机获取名为 'volume' 的嵌套输入
final controller = RiveWidgetController(riveFile);
final stateMachine = controller.stateMachine;
final volumeInput = stateMachine.number('volume', path: 'Volume Molecule/Volume Component')!;
volumeInput.value = 80.0;
所有选项:
number(name, path: 'path/to/input')bool(name, path: 'path/to/input')trigger(name, path: 'path/to/input')