跳到主要内容

输入

⚠️ 警告:此功能已弃用,仅支持旧版运行时,不支持当前运行时。请改用数据绑定来控制 Rive 动画。

概览

输入(Inputs)是已弃用的功能,用于控制状态机动画。输入可以是数字、布尔值或触发器类型,用于在运行时驱动状态机转换。

控制输入

输入

为状态机设置输入值通过 View 类中实例化的 RiveViewModel 进行。

.setInput()

  • inputName (String) - 状态机上要设置值的输入名称
  • value (Bool, Float, 或 Double) - 为关联的 inputName 设置的值

triggerInput()

  • inputName (String) - 状态机上要触发的输入名称
// 数字输入示例
starsVM.setInput("Rating Changed", value: 5)

// 布尔输入示例
toggleVM.setInput("Switch Flipped", value: true)

// 触发器输入示例
confettiVM.triggerInput("Celebrate")

嵌套输入

嵌套输入是指位于嵌套画板或组件内的输入。要访问它们,你需要使用路径来定位输入。

设置上述示例的 Volume 输入:

@StateObject private var riveState = RiveViewModel(fileName: "file_name", stateMachineName: "StateMachineName")
...
riveState.setInput("volume", value: 80.0, path: "Volume Molecule/Volume Component")

所有选项:

  • setInput(_ inputName, value: value, path) 其中 value 可以是 BoolDoubleFloat
  • triggerInput(_ inputName, path: path)