跳到主要内容

Rive 事件(Rive Events)

提示:Events 属于旧体系,建议迁移到 Data Binding 触发与属性流。

参考:

组件模式(推荐于 Unity 场景)

在脚本中订阅 RiveWidget.OnRiveEventReported

private void OnEnable()
{
m_riveWidget.OnRiveEventReported += HandleRiveEventReported;
}

private void OnDisable()
{
m_riveWidget.OnRiveEventReported -= HandleRiveEventReported;
}

Legacy API

可通过 stateMachine.ReportedEvents() 读取本帧事件。

foreach (var evt in m_stateMachine?.ReportedEvents() ?? Enumerable.Empty<ReportedEvent>())
{
Debug.Log(evt.Name);
}

m_stateMachine?.Advance(Time.deltaTime); // 读取后再推进

读取事件属性

事件属性常见类型:

  • bool
  • float
  • string

可从 reportedEvent.Properties 读取并按类型转换。

示例建议

官方示例工程中的 EventsScene 提供了完整事件回调流程,可直接对照调试。