【问题标题】:On flutter flame 1.0.0 how to use the onComplete callback when move effect is over?在flutter flame 1.0.0上,移动效果结束时如何使用onComplete回调?
【发布时间】:2021-12-17 00:23:57
【问题描述】:

我在以前的火焰引擎版本中使用了 onComplete 回调在移动效果中,但现在版本 1.0.0 发布了我无法找到它,虽然它在文档中提到但不清楚,也没有示例它。

另一个缺失的部分是用速度而不是持续时间来定义移动效果——我需要手动计算吗?或者有一个选项来提供它(我正在使用 move.to 方法)

【问题讨论】:

    标签: flutter effects flame


    【解决方案1】:

    不幸的是,它们在 Flame 1.0.0 中还不存在。

    onFinishCallback 已合并到 main,因此您可以依赖 main 来获取该行为,或者等到我们发布它。

    要依赖于 main,请将其放入您的 pubspec.yaml 文件中。

    dependencies:
      flame:
        git:
          url: https://github.com/flame-engine/flame.git
          ref: main
          path: packages/flame
    

    speedMoveEffect 正在处理中,但尚未完成。 如果您将Path 传递给MoveEffect,一种解决方法是根据路径的速度和长度计算duration

    final speed = 10; // Pixels per second
    List<PathMetric> metrics = path.computeMetrics().toList();
    double pathLength = 0;
    pm.forEach((contour){
      pathLength += contour.length;
    });
    final duration = pathLength / speed;
    

    这是一个相当麻烦的解决方法,所以我希望我们能尽快为MoveEffect 发布speed

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 2022-01-17
      相关资源
      最近更新 更多