过渡条件脚本(Transition Condition Scripts)
条件(Conditions) 用于决定状态机何时从一个状态过渡到另一个状态。
过渡条件脚本(Transition Condition Scripts)适合处理内置比较难以表达的复杂逻辑。
创建过渡条件脚本
创建新脚本 并选择 过渡条件脚本(Transition Condition Script)。
脚本结构(Anatomy)
type MyTransitionCondition = {
context: Context,
}
-- Called once when the script initializes.
function init(self: MyTransitionCondition, context: Context): boolean
-- Context gives you access to your main view model and other data.
self.context = context
return true
end
-- Add your transition logic here.
-- `evaluate` is fired every frame while the transition is active.
-- Returning false prevents a transition, true allows a transition.
function evaluate(self: MyTransitionCondition): boolean
return false
end
-- Return a factory function that Rive uses to build the Transition Condition instance.
return function(): TransitionCondition<MyTransitionCondition>
return {
init = init,
evaluate = evaluate,
context = late(),
}
end
说明(Note)
evaluate会在过渡激活期间每帧执行。建议保持快速、无副作用,仅返回是否允许过渡。
添加过渡条件
- 选中一个 Transition
- 点击
+添加 Condition - 选择你的脚本

脚本输入(Script Inputs)
输入(Inputs)可让你在不修改逻辑的情况下给过渡条件传参,提升复用性。
说明(Note) 输入可以控制脚本,但脚本不能修改输入值。
若需控制视图模型属性,请通过上下文(Context)或视图模型输入(View Model Inputs)访问。
设置输入
点击过渡旁属性图标(Properties icon)设置输入值。

绑定输入
右键属性并选择 Data Bind,将输入绑定到视图模型属性。
