fix(mobile): 调整火柴人终点位置,停在红旗左边
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
a823490c96
commit
7d1a392d9e
|
|
@ -236,12 +236,12 @@ class _StickmanRaceWidgetState extends State<StickmanRaceWidget>
|
||||||
final trackHeight = usableHeight / total;
|
final trackHeight = usableHeight / total;
|
||||||
final verticalPosition = rank * trackHeight + 10;
|
final verticalPosition = rank * trackHeight + 10;
|
||||||
|
|
||||||
// 简单计算:
|
// 火柴人列宽度约50(数量标签maxWidth:60,但实际更窄)
|
||||||
// 起点 = 昵称区域宽度 (65) + 间距 (5) = 70
|
// 红旗: right=8, width=24, 所以红旗左边 = containerWidth - 32
|
||||||
// 终点 = 红旗左边位置 = containerWidth - 8(right) - 24(flagWidth) = containerWidth - 32
|
// 火柴人停在红旗左边时: stickmanLeft + 50 = containerWidth - 32
|
||||||
// 火柴人宽度约 60,所以火柴人 left 值 = 终点位置 - 60 = containerWidth - 92
|
// 所以 endX = containerWidth - 82
|
||||||
const double startX = 70.0;
|
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;
|
final double stickmanLeft = startX + (endX - startX) * progress;
|
||||||
|
|
||||||
return AnimatedBuilder(
|
return AnimatedBuilder(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue