Rive/Flutter - 类型“Artboard”不是类型转换中“RuntimeArtboard”类型的子类型

问题描述

我正在使用 Rive 显示带有颤动的动画闪屏,但在前几秒钟(加载文件时或显示画板之前)出现此错误

type 'Artboard' is not a subtype of type 'RuntimeArtboard' in type cast 
#0      Rive.createRenderObject (package:rive/src/rive.dart:42)
....

但实际上,如果我打开 rive.dart:42 我发现:

return RiveRenderObject(artboard as RuntimeArtboard)

如果我打开 RuntimeArtboard 类,我发现:

class RuntimeArtboard extends Artboard

出现这个错误后,文件正常加载,动画开始没有问题。

那么,为什么我会收到此错误? 我应该忽略它还是有问题?

这是我的代码

import 'package:Flutter/material.dart';
import 'package:Flutter/services.dart';
import 'package:rive/rive.dart';

class SplashScreen extends StatefulWidget {
  @override
  _SplashScreenState createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen> {
  Artboard artboard;
  RiveAnimationController controller;

  @override
  void initState() {
    super.initState();
    artboard = Artboard();
    rootBundle.load("assets/images/splash.riv").then((data) {
      final file = RiveFile.import(data);
      final artboard = file.mainArtboard;
      artboard.addController(controller = SimpleAnimation("splash"));
      setState(() => this.artboard = artboard);
    });
  }

  @override
  Widget build(BuildContext context) {
    return artboard != null
        ? Rive(
            artboard: artboard,fit: BoxFit.cover,)
        : SizedBox();
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)