跳到主要内容

自定义绘制器(Custom Painter)

你可以通过 CustomPainter 手动控制 Artboard 的推进与绘制,以获得更细粒度的渲染控制。

适用于:

  • 多个 Artboard 绘制到同一 Canvas
  • 自定义时间推进(elapsed time)
  • 复用同一 Artboard 多次绘制
  • 更复杂的裁剪、变换或混合渲染

说明(Note):这是低层 API。常规场景仍建议使用 RiveWidget / RiveWidgetBuilder

核心步骤

  1. RiveFile 获取 Artboard,并挂载控制器(如 StateMachineController
  2. 使用 CustomPaint 获取 Flutter Canvas
  3. AnimationController / Ticker 驱动每帧重绘
  4. 计算帧间 delta time
  5. 调用 artboard.advance(dt, nested: true) 推进动画
  6. 调用 artboard.draw(canvas) 绘制

参考示例

提示(Tip):若要让每个对象独立推进,记得对 Artboard 使用 instance() 创建独立实例。