From c59da29bba304152e3826ab869a421c7c75f780d Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Mon, 28 Sep 2026 18:04:40 +0800 Subject: feat(p40): 乌篷船证据收口(相机遮挡与取景修复) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CenterCameraOnTile 让相机直对船瓦片,avatar 挪到岸上非水瓦片,消除遮挡 - day/night/boat 三个证据镜头统一以船为中心;boat 帧整条船(234-235,50)完整入框 - 夜光晕后重绘船体(drawCc0BoatOverlay),修复桥头灯把船洗白 - make-p40-closeups.py 裁剪框对准船真实包围盒,closeup 不再裁切船 - 相机遮挡修复含 leader 外科修复(CenterCameraOnTile) - 重出 docs/evidence/p40-day/night/boat 及 closeup 2x --- src/LivingVillage.Desktop/VillageArt.fs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/LivingVillage.Desktop/VillageArt.fs') diff --git a/src/LivingVillage.Desktop/VillageArt.fs b/src/LivingVillage.Desktop/VillageArt.fs index 0427dea..2b2b0e7 100644 --- a/src/LivingVillage.Desktop/VillageArt.fs +++ b/src/LivingVillage.Desktop/VillageArt.fs @@ -970,6 +970,21 @@ module VillageArt = for (rect, color) in lanternGlowLayers centerX centerY radiusPixels 8 255 214 150 peakAlpha do spriteBatch.Draw(pixel, rect, color) + let drawCc0BoatOverlay + (spriteBatch: SpriteBatch) + (textures: ArtTextures) + (camera: XnaVector2) + (map: MapGen.Result) + (tint: XnaColor) = + match textures.Cc0TileAtlas with + | Some cc0 -> + match cc0BoatTile map with + | Some (boatX, boatY) -> + drawCc0Tile spriteBatch cc0 tint (cc0TileRect cc0TileIndexBoatLeft) (boatX * Sim.tilePixels - int camera.X) (boatY * Sim.tilePixels - int camera.Y) + drawCc0Tile spriteBatch cc0 tint (cc0TileRect cc0TileIndexBoatRight) ((boatX + 1) * Sim.tilePixels - int camera.X) (boatY * Sim.tilePixels - int camera.Y) + | None -> () + | None -> () + let drawWorld (spriteBatch: SpriteBatch) (textures: ArtTextures) -- cgit v1.2.3