summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/Game.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-29 11:18:01 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-29 11:18:01 +0800
commite959b1df06f29fe6542cc6cbe2f9005f620d5dc9 (patch)
tree92e5842f16d86861494508ee642dbf5bedd85d9c /src/LivingVillage.Desktop/Game.fs
parent016471d580d1c41babc3e04e3b49b31c007e5562 (diff)
downloadliving-village-e959b1df06f29fe6542cc6cbe2f9005f620d5dc9.tar.gz
p75: HUD 顶部条去整宽深色带(改紧凑半透明药丸)
HudLayout:BarTop/BarBottom alpha=0,新增 pillHairline 1px 发丝线与 pillHeight;DrawHudBar 不再铺整条底色与整宽 accent,改画每段半透明药丸+发丝线,图标+数值并排、右侧留白充足。布局/语义/快捷键不变,HUD 结构仅视觉层次。新增 P75HudStripTests(4 例);LV_P43_SHOT 同机位昼/夜证据 + analyze-p75(顶部条近黑 2.6% vs 整宽带 100%、无实心黑块、亮字仍在,verdict=PASS)。Desktop 354/354、Kernel 120/120、digest 与 p70 一致。
Diffstat (limited to 'src/LivingVillage.Desktop/Game.fs')
-rw-r--r--src/LivingVillage.Desktop/Game.fs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs
index a4f994b..c6408aa 100644
--- a/src/LivingVillage.Desktop/Game.fs
+++ b/src/LivingVillage.Desktop/Game.fs
@@ -3405,17 +3405,14 @@ type LivingVillageGame() as this =
/// 顶部窄信息条:时段/时间/倍速/体力/钱币,半透明渐变 + 强调线,绝非大黑块。
member private this.DrawHudBar() =
- let viewport = this.GraphicsDevice.Viewport
let profile = M6Presentation.profileAtTick world.Tick
let palette = HudLayout.palette profile.Mode
let placed = HudLayout.layout (HudLayout.segments world simulationControl)
let barHeight = HudLayout.barHeight
let textY = (barHeight - 8 * HudLayout.textScale) / 2
spriteBatch.Begin()
- // 竖向渐变:上半略亮、下半压暗,避免整条纯色。
- spriteBatch.Draw(pixel, Rectangle(0, 0, viewport.Width, barHeight / 2), palette.BarTop)
- spriteBatch.Draw(pixel, Rectangle(0, barHeight / 2, viewport.Width, barHeight - barHeight / 2), palette.BarBottom)
- spriteBatch.Draw(pixel, Rectangle(0, barHeight, viewport.Width, HudLayout.accentHeight), palette.Accent)
+ // P75:去掉整宽深色渐变带(palette 的 BarTop/BarBottom alpha=0),信息只靠各段的
+ // 半透明药丸承载——紧凑的图标+数值并排、留白充足,HUD 区域黑块面积大幅下降。
// 图标用 pixel 贴图按 7x7 点阵绘制(无外部素材),先描边后填充,保证昼夜可读。
let drawIcon (iconX: int) (iconY: int) (color: Color) (icon: HudLayout.HudIcon) =
HudLayout.iconRows icon
@@ -3434,6 +3431,7 @@ type LivingVillageGame() as this =
let iconY = (barHeight - HudLayout.iconHeight) / 2
for (x, width, segment) in placed do
spriteBatch.Draw(pixel, HudLayout.segmentBackdrop x width, palette.SegmentBackdrop)
+ spriteBatch.Draw(pixel, HudLayout.pillHairline x width, palette.Accent)
let textX = HudLayout.textOrigin x
let labelAdvanced = FloatingPrompt.measureWidth (segment.Label + " ") HudLayout.textScale
let isEnergy = segment.Icon = HudLayout.EnergyIcon