0

我现在开发了一个应用程序,在颤振网络中使用相同的动画。但它的抛出错误。我已经下载了flutter的二进制文件并将其提供给flare,但它不起作用。相同的代码在android中运行良好,但在flutter web Plzz帮助中抛出错误。错误:

Error: [object Event]


    at Object.createErrorWithStack (http://localhost:62576/dart_sdk.js:4789:12)
    at Object._rethrow (http://localhost:62576/dart_sdk.js:35903:16)
    at async._AsyncCallbackEntry.new.callback
    (http://localhost:62576/dart_sdk.js:35899:13)
    at Object._microtaskLoop (http://localhost:62576/dart_sdk.js:35759:13)
    at _startMicrotaskLoop (http://localhost:62576/dart_sdk.js:35765:13)
    at http://localhost:62576/dart_sdk.js:31707:9

代码:


class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  String animationName = "forward";
  bool paused;
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    animationName = "forward";
    paused = false;
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      child: FlareActor(
        "flare_truck.flr",
        animation: animationName,
        fit: BoxFit.fitHeight,
        alignment: Alignment(0, 0),
        callback: (str) {
          setState(
            () {
              animationName = "upDown";
            },
          );
        },
      ),
    );
  }
}
4

2 回答 2

2

在 iOS 和 Android 上运行的 Flare 动画有一个开放的 Github 问题,但在此处中断了网络。

Flare/Rive 团队的一名成员就该问题发表了以下看法:

“这里有两个问题,但最根本的问题是 Flutter Web 不支持三角形网格的图像着色器,这就是 Flare 渲染图像的方式。不幸的是,这意味着 Flare 图像现在无法在 Flutter Web 中工作。我们可以我们这边要做的就是禁止他们绘图,这样你就不会遇到异常。”

您可以关注 Github 问题以获取有关此的任何特定更新。

虽然这没有多大帮助,但您可以尝试使用一种解决方法来解决RepaintBoundaryStack 和 Flare 问题。你可以在这里查看 StackOverflow 的答案。

于 2020-05-17T10:51:50.513 回答
0

我遇到了同样的问题,我发现如果你在动画中使用任何图像,它不适用于 Flutter Web,所以不要使用你的图像作为 .png 。使用 illustrator 将所有图像转换为 .svg 文件格式的路径

于 2020-08-18T13:44:19.893 回答