diff --git a/frontend/mobile-app/lib/features/authorization/presentation/widgets/stickman_race_widget.dart b/frontend/mobile-app/lib/features/authorization/presentation/widgets/stickman_race_widget.dart index c6ae8330..1f6fa15d 100644 --- a/frontend/mobile-app/lib/features/authorization/presentation/widgets/stickman_race_widget.dart +++ b/frontend/mobile-app/lib/features/authorization/presentation/widgets/stickman_race_widget.dart @@ -236,12 +236,12 @@ class _StickmanRaceWidgetState extends State final trackHeight = usableHeight / total; final verticalPosition = rank * trackHeight + 10; - // 简单计算: - // 起点 = 昵称区域宽度 (65) + 间距 (5) = 70 - // 终点 = 红旗左边位置 = containerWidth - 8(right) - 24(flagWidth) = containerWidth - 32 - // 火柴人宽度约 60,所以火柴人 left 值 = 终点位置 - 60 = containerWidth - 92 + // 火柴人列宽度约50(数量标签maxWidth:60,但实际更窄) + // 红旗: right=8, width=24, 所以红旗左边 = containerWidth - 32 + // 火柴人停在红旗左边时: stickmanLeft + 50 = containerWidth - 32 + // 所以 endX = containerWidth - 82 const double startX = 70.0; - final double endX = containerWidth - 92.0; // 火柴人到达红旗时的 left 值 + final double endX = containerWidth - 82.0; final double stickmanLeft = startX + (endX - startX) * progress; return AnimatedBuilder(