动画播放
⚠️ 已弃用:请在运行时使用状态机代替直接动画播放
在加载 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),用于管理状态/绘制/推进。
为了访问动画的控制功能,你需要创建一个 SingleAnimationPainter 或 StateMachinePainter 并将其传递给 RiveArtboardWidget。
或者,你可以创建 RiveWidgetController 并将其传递给 RiveWidget,以使用功能更丰富的 API 来控制状态机的播放(推荐)。
这个绘制器概念是可扩展的,你也可以创建自己的自定义绘制器,例如用于同时控制多个动画。