From 3391a053d3dc1bba5a08ff154b8ff66a4ee031d4 Mon Sep 17 00:00:00 2001 From: barry <176665012243@163.com> Date: Sun, 14 Jun 2026 16:25:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A1=E3=80=81=E6=94=BE=E5=A4=A7?= =?UTF-8?q?=E7=BC=A9=E5=B0=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FGUI/Arrow_game_atlas0.png | Bin 19834 -> 17173 bytes .../FGUI/Arrow_game_fui.bytes | Bin 6666 -> 6694 bytes .../Scripts/ModuleUI/ArrowGame/ArrowGameUI.cs | 114 ++++++++++++++++-- 3 files changed, 103 insertions(+), 11 deletions(-) diff --git a/Assets/Resources/ChillConnectAssets/FGUI/Arrow_game_atlas0.png b/Assets/Resources/ChillConnectAssets/FGUI/Arrow_game_atlas0.png index 16802226ab15c265a189511d33d4dbfd729a0abd..b4b2412f4df5f028475ae8509ac14ebca5cbd2e1 100644 GIT binary patch literal 17173 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 f3r>@))##OgHYv)L%JOpbT` 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 Ha>joFEB)Jn diff --git a/Assets/Resources/ChillConnectAssets/FGUI/Arrow_game_fui.bytes b/Assets/Resources/ChillConnectAssets/FGUI/Arrow_game_fui.bytes index c0b1654af1a2f29979be5b7fbe9bd648d8fbe4e2..9fdcaecae80c0650e831aaed98f8962ed7098d80 100644 GIT binary patch delta 609 zcmXX?OKeg>6ur|aod<>YS{@J(VvPw_TMCjAKWRcM{ZR_E7SUq0SW7L|1mh=e)YQ7v z#KfGHaji++n1*y|Sg0FaxOUZr#>8~tXD@hPb&@mpo_o*z%sfiGOlT96#VI1{c&eSS zKWB%JZ+mO%yDjxiQZF5*_Eysh_ArK=e0|g`dXN!g6d0R~SBy7|2E#gga{My-@Y@~e zIzoN_!bHMKVngh=wXr9VG<&cv&5n$ueu}_QB{6`jYDPtQu0b(0RN8)&l}VPjqf5(( zI2N=5t6pm{5yg)7MJ8z&@9kMN!ZoKT1-~P!M%f>uaa?nZ%L$r9-7zoI6sRBQ+!AOw z!^(QLK^g2i$BbzfXDP>HsvOsWP}D$ltYn#G1ICr;y&DEy(--E_3WnH5 z*)IF6++${OW_4d!T&aKdg@jYp66M<3oh53kC7}5u9k!ddDv4tl^sj2FHdwY;{h9xU F_zTT}m`wlx delta 603 zcmXX?OK4L;6g}glotLEPGs#OxO~JO<)_kAR_(MrFrumtqpBQcYrJ7c{3iX34Ev`gd zsO5@oL{PznxRHQ#;Yy^qR?u!-xe{FI!d>Eh!GUw<+_~r6xiha4_Yzt*S1SNe>)Jv4 zT_(KzFWwe@_NBi_Oky`|-HvtWv@pP7L$lH`hRLWh9y6XWUNhb>tksjRKMn5^NGXBs z*oQ+n%!MOJ0U_=gMx>|YKy$7g6tNA_nl$>05>doxOw~o4ZmJn&vRKC+`mFNyy@1HF zBgmE@B{frosHIg|`GL7fzqKDSj3jN@ODe^_qc}zpM@glbA4i7P9Mf_dS=w|gh+KQ8 zb4#c^x6@Ie&Ok;LS#|;?D!4ML%)EjbdgLlQXCYZ-0R4aX;t_hNYh(-t#2m#2i_Uoj zyWQ?8U<=b7$0)tzN|oLZ&dZaikz1eDqulEhVm$nH{%X(v9tT9S{Yn2QWQwPJ;9i!e zu|R*_E22(|o|-&^v$Ww^5$9;sTbF5^r(52-vcAs4FZu4R$Rdv#HyYvs-8b^0LEkto z(ul7j%eY8ae5SZW&wWF~&2EQXOZ)`Ez->-=3``)7CVllyiY9e>al${&)+SYWH+jF| vw`$Kg3vssT9~aB*U;bg??YnwyDX|}_HPx^fwza0n2t+9txZHjhSQY;Ohvt<+ diff --git a/Assets/Scripts/ModuleUI/ArrowGame/ArrowGameUI.cs b/Assets/Scripts/ModuleUI/ArrowGame/ArrowGameUI.cs index 4f77b3f..cc3aea2 100644 --- a/Assets/Scripts/ModuleUI/ArrowGame/ArrowGameUI.cs +++ b/Assets/Scripts/ModuleUI/ArrowGame/ArrowGameUI.cs @@ -36,12 +36,19 @@ namespace ChillConnect private readonly float outOffset = 200f; // 网格边界 + private Vector2 _gridWorldCenter; // 网格世界中心点 + private float gridLeft; private float gridRight; private readonly int gridRowNum = 10; private float gridTop; private float gridBottom; + // 网格行列、单个格子尺寸(你原有网格参数) + private int _gridRow; + private int _gridCol; + private float _cellSize; + // 网格占用标记:true=该点位被占用,false=空闲 private bool[,] _gridOccupied; // 记录每个箭头占用的所有网格点位(行,列) @@ -98,6 +105,7 @@ namespace ChillConnect uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = true; + uiInfo.isTickUpdate = true; } #region 生命周期 @@ -155,11 +163,46 @@ namespace ChillConnect public override void OnUpdate() { - if (_levelConfig == null) return; - foreach (var arrow in _levelConfig.arrows) + // if (_levelConfig == null) return; + // foreach (var arrow in _levelConfig.arrows) + // { + // UpdateArrowMove(arrow); + // } + // + // ========= 编辑器模拟触摸(仅编辑模式生效) ========= +#if UNITY_EDITOR + //1. 鼠标左键 = 单指拖拽 + // Debug.Log($"Input.GetMouseButtonDown======={Input.GetMouseButtonDown(0)}"); + if (Input.GetMouseButtonDown(0)) { - UpdateArrowMove(arrow); + _lastTouchPos = Input.mousePosition; + _isDraging = true; } + if (Input.GetMouseButton(0) && _isDraging) + { + Vector2 curMousePos = Input.mousePosition; + Vector2 offset = curMousePos - _lastTouchPos; + MoveContainer(offset); + _lastTouchPos = curMousePos; + } + if (Input.GetMouseButtonUp(0)) + { + _isDraging = false; + } + + // 2. 鼠标滚轮 = 双指缩放 + // float scrollDelta = Input.GetMouseWheelDelta(); + // if (Mathf.Abs(scrollDelta) > 0) + // { + // float curScale = _viewContainer.scaleX; + // curScale += scrollDelta * 0.1f; + // curScale = Mathf.Clamp(curScale, _minScale, _maxScale); + // + // _viewContainer.scaleX = curScale; + // _viewContainer.scaleY = curScale; + // _zoomSlider.value = GetSliderValueByScale(curScale); + // } +#endif // ========= 双指 = 缩放(优先级最高) ========= if (Input.touchCount == 2) @@ -267,6 +310,7 @@ namespace ChillConnect ui.btn_hint.SetClick(OnClickHint); _fingerTipObj = com_finger.CreateInstance(); _viewContainer.AddChild(_fingerTipObj); + _fingerTipObj.visible = false; _currentTipArrow = null; _zoomSlider = ui.zoomSlide; @@ -466,6 +510,43 @@ namespace ChillConnect _viewContainer.AddChild(dot); } } + + // ========= 新增:网格绘制完成后,设置居中缩放轴心 ========= + CalculateGridCenter(cfg); + SetViewPivotToGridCenter(); + } + + /// 计算网格整体世界中心(原有网格坐标不变) + /// 计算整个网格圆点区域的世界中心点 + private void CalculateGridCenter(LevelConfig cfg) + { + int rows = cfg.gridRows; + int cols = cfg.gridCols; + + // 取四个角点位,算出整体中心 + Vector2 topLeft = RowColToPos(0, 0); + Vector2 bottomRight = RowColToPos(rows - 1, cols - 1); + + // 几何中心 + _gridWorldCenter.x = (topLeft.x + bottomRight.x) * 0.5f; + _gridWorldCenter.y = (topLeft.y + bottomRight.y) * 0.5f; + } + + /// 设置_viewContainer缩放轴心 = 网格中心,实现居中缩放 + private void SetViewPivotToGridCenter() + { + if (_viewContainer == null) return; + + // FGUI pivot 取值范围 0~1,是容器内部相对比例 + float pivotX = _gridWorldCenter.x / _viewContainer.width; + float pivotY = _gridWorldCenter.y / _viewContainer.height; + + // 限制在合法区间 + pivotX = Mathf.Clamp01(pivotX); + pivotY = Mathf.Clamp01(pivotY); + + // 设置轴心,此后所有缩放都围绕网格中心 + _viewContainer.pivot = new Vector2(pivotX, pivotY); } #endregion @@ -708,14 +789,23 @@ namespace ChillConnect /// 根据缩放值,计算滑动条 value(0~1) private float GetSliderValueByScale(float scale) { - float t = (scale - _minScale) / (_maxScale - _minScale); - return Mathf.Clamp01(t); + float validScale = Mathf.Clamp(scale, _minScale, _maxScale); + float ratio = (validScale - _minScale) / (_maxScale - _minScale); + float sliderVal = ratio * 100f; + + return Mathf.Clamp(sliderVal, 0f, 100f); } /// 根据滑动条 value(0~1),计算实际缩放值 private float GetScaleBySliderValue(float sliderValue) { - float scale = _minScale + sliderValue * (_maxScale - _minScale); + // 先把滑块值钳位在 0~100 内 + float val = Mathf.Clamp(sliderValue, 0f, 100f); + + // 线性映射:0→0.6,100→1.5 + float ratio = val / 100f; + float scale = _minScale + ratio * (_maxScale - _minScale); + return Mathf.Clamp(scale, _minScale, _maxScale); } @@ -1326,11 +1416,13 @@ namespace ChillConnect return; } - // 1. 恢复默认缩放 1倍 - _viewContainer.scaleX = 1f; - _viewContainer.scaleY = 1f; - // 2. 滑动条回归对应位置 - _zoomSlider.value = GetSliderValueByScale(1f); + // 1. 恢复默认缩放 1.0 + float defaultScale = 1f; + _viewContainer.scaleX = defaultScale; + _viewContainer.scaleY = defaultScale; + + // 2. 设置滑块对应位置 + _zoomSlider.value = GetSliderValueByScale(defaultScale); // 3. 容器屏幕居中 float startX = (Screen.width - _viewContainer.width) * 0.5f; float startY = (Screen.height - _viewContainer.height) * 0.5f;