我刚刚点燃了火焰,我想在7秒内将一个组件从这个位置逐步移动到位置列表中.
到目前为止,我所做的是在不同的点之间有一个延迟,我想要一些流动的东西.
void animate({
required PositionComponent component,
required List<Vector2> newPositions,
required double duration,
void Function()? onComplete,
}) async {
int index = 0;
while (index < newPositions.length) {
Vector2 newPosition = newPositions.elementAt(index);
double progress = 0.0;
while (progress <= 1.0) {
component.position.lerp(newPosition, progress);
await Future.delayed(const Duration(milliseconds: 100));
progress += (1.0 / duration);
}
index++;
}
onComplete?.call();
}
Flat版本(1.10.0).
提前谢谢!