【发布时间】:2021-12-17 00:23:57
【问题描述】:
我在以前的火焰引擎版本中使用了 onComplete 回调在移动效果中,但现在版本 1.0.0 发布了我无法找到它,虽然它在文档中提到但不清楚,也没有示例它。
另一个缺失的部分是用速度而不是持续时间来定义移动效果——我需要手动计算吗?或者有一个选项来提供它(我正在使用 move.to 方法)
【问题讨论】:
我在以前的火焰引擎版本中使用了 onComplete 回调在移动效果中,但现在版本 1.0.0 发布了我无法找到它,虽然它在文档中提到但不清楚,也没有示例它。
另一个缺失的部分是用速度而不是持续时间来定义移动效果——我需要手动计算吗?或者有一个选项来提供它(我正在使用 move.to 方法)
【问题讨论】:
不幸的是,它们在 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
speed 的MoveEffect 正在处理中,但尚未完成。
如果您将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!
【讨论】: