跳到主要内容

动画播放

⚠️ 已弃用:请在运行时使用状态机代替直接动画播放

在加载 Rive 文件后,在运行时选择播放哪个动画以及如何控制播放。

// 创建 File、Artboard 和 SingleAnimationPainter
final file = (await File.asset(
'assets/rewards.riv',
riveFactory: Factory.rive,
))!;
final artboard = file.artboard('Main')!;
final animationPainter = SingleAnimationPainter("Artboard Name");

// 稍后创建组件
return RiveArtboardWidget(
artboard: artboard,
painter: animationPainter,
);

控制播放

Flutter 因其响应式特性,与其他运行时相比处理方式略有不同。

Flutter 中的每个动画和状态机都有一个底层的绘制器(painter),用于管理状态/绘制/推进。

为了访问动画的控制功能,你需要创建一个 SingleAnimationPainterStateMachinePainter 并将其传递给 RiveArtboardWidget

或者,你可以创建 RiveWidgetController 并将其传递给 RiveWidget,以使用功能更丰富的 API 来控制状态机的播放(推荐)。

这个绘制器概念是可扩展的,你也可以创建自己的自定义绘制器,例如用于同时控制多个动画。