From 6649dc1ca54f9ccd125bebffdcd88837cec6d36a Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 24 Sep 2026 04:47:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(board):=20SubViewport=20=E6=89=8B=E8=AE=BE?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E8=AD=A6=E5=91=8A=E6=B8=85=E9=99=A4=E2=80=94?= =?UTF-8?q?=E2=80=94=E6=A0=91=E5=86=85=20stretch=20=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E6=8E=A5=E7=AE=A1=E6=97=B6=E8=B7=B3=E8=BF=87=20=5Fviewport.siz?= =?UTF-8?q?e=20=E7=9B=B4=E8=AE=BE=EF=BC=88=E6=A0=91=E5=A4=96=E5=86=92?= =?UTF-8?q?=E7=83=9F=E7=9B=B4=E5=BB=BA=E8=B7=AF=E5=BE=84=E4=BF=9D=E7=95=99?= =?UTF-8?q?=201:1=EF=BC=89=EF=BC=8C=E8=BF=90=E8=A1=8C=E6=97=B6=E5=8F=96?= =?UTF-8?q?=E8=AF=81=E6=8E=A2=E9=92=88=E5=A4=8D=E6=A0=B8=20Node2D=20?= =?UTF-8?q?=E4=B8=96=E7=95=8C+100=20=E6=A0=BC=E5=8D=95=E5=85=83=E5=85=A8?= =?UTF-8?q?=20Node2D=EF=BC=882026-09-24=EF=BC=8C=E5=8F=B0=E8=B4=A6=20152?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/presentation/views/board_view.gd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/game/presentation/views/board_view.gd b/game/presentation/views/board_view.gd index e9bd731c..20399c61 100644 --- a/game/presentation/views/board_view.gd +++ b/game/presentation/views/board_view.gd @@ -231,7 +231,9 @@ func _update_world_size() -> void: return var px := Vector2(_board.width, _board.height) * (_cell + float(SEP)) - Vector2(SEP, SEP) _svp_container.custom_minimum_size = px - _viewport.size = px # 树内 stretch=true 由容器回写同值;树外(冒烟直建)此处保 1:1 + # 树内 stretch=true 时 SubViewport 尺寸由容器接管(手设被引擎拒绝并刷警告);树外(冒烟直建)才需手设保 1:1 + if not _svp_container.is_inside_tree(): + _viewport.size = px # 真实输入路径(ADR-0006 Decision 3):壳层 _gui_input → 板级公式换算 → 复用既有 hover/点选/chord 出口