From 4e11c8d0e2102efa22d8e0c80a1e89e76fa2257a Mon Sep 17 00:00:00 2001 From: Ino Date: Wed, 12 Mar 2025 11:13:58 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EB=94=A9=20ui=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIPrefabs/Title/SortOrder_5.prefab | 67 +++++++++++++------ .../Script/UI/Util/SliderHandleController.cs | 35 ++++++++++ .../UI/Util/SliderHandleController.cs.meta | 11 +++ 3 files changed, 94 insertions(+), 19 deletions(-) create mode 100644 Assets/Script/UI/Util/SliderHandleController.cs create mode 100644 Assets/Script/UI/Util/SliderHandleController.cs.meta diff --git a/Assets/ResWork/UIPrefabs/Title/SortOrder_5.prefab b/Assets/ResWork/UIPrefabs/Title/SortOrder_5.prefab index b103bf492..f360a6c0b 100644 --- a/Assets/ResWork/UIPrefabs/Title/SortOrder_5.prefab +++ b/Assets/ResWork/UIPrefabs/Title/SortOrder_5.prefab @@ -678,7 +678,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Loading... + m_text: 'Tip : ' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57, @@ -706,8 +706,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 20 - m_fontSizeBase: 20 + m_fontSize: 25 + m_fontSizeBase: 25 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 10 @@ -2113,8 +2113,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 125} - m_SizeDelta: {x: 190, y: 190} + m_AnchoredPosition: {x: -11.2, y: 184.70001} + m_SizeDelta: {x: 287, y: 286} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5031234401325852370 CanvasRenderer: @@ -2779,8 +2779,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 85.6} - m_SizeDelta: {x: 610, y: 30} + m_AnchoredPosition: {x: 0, y: 127.8} + m_SizeDelta: {x: 1000, y: 47} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7327882565052033513 CanvasRenderer: @@ -3394,8 +3394,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 15 - m_fontSizeBase: 15 + m_fontSize: 20 + m_fontSizeBase: 20 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 10 @@ -7691,8 +7691,8 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1280, y: 720} - m_ScreenMatchMode: 0 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 1 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 m_FallbackScreenDPI: 96 @@ -8414,8 +8414,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 125} - m_SizeDelta: {x: 1010, y: 36} + m_AnchoredPosition: {x: 0, y: 186} + m_SizeDelta: {x: 1510, y: 36} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &7251279084768340234 MonoBehaviour: @@ -8459,7 +8459,7 @@ MonoBehaviour: m_Interactable: 1 m_TargetGraphic: {fileID: 5923574204131616269} m_FillRect: {fileID: 2119898751915229899} - m_HandleRect: {fileID: 7101245605736225459} + m_HandleRect: {fileID: 0} m_Direction: 0 m_MinValue: 0 m_MaxValue: 1 @@ -8467,7 +8467,19 @@ MonoBehaviour: m_Value: 1 m_OnValueChanged: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &5820811205256722697 GameObject: m_ObjectHideFlags: 0 @@ -9022,7 +9034,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Texture: {fileID: 2800000, guid: 19fc68da69e2614428373b3f52d5f0df, type: 3} + m_Texture: {fileID: 0} m_UVRect: serializedVersion: 2 x: 0 @@ -11306,6 +11318,7 @@ GameObject: - component: {fileID: 7101245605736225459} - component: {fileID: 7893705974558195964} - component: {fileID: 6479031529578815189} + - component: {fileID: 8107188678654399096} m_Layer: 5 m_Name: handle m_TagString: Untagged @@ -11327,9 +11340,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 4652740648965546213} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 740.2, y: 0} m_SizeDelta: {x: 73, y: 73} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7893705974558195964 @@ -11370,6 +11383,22 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8107188678654399096 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8207689501854819013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85ea459f4d429e748aac9a7c343faf72, type: 3} + m_Name: + m_EditorClassIdentifier: + slider: {fileID: 7251279084768340234} + sliderRect: {fileID: 4652740648965546213} + handle: {fileID: 7101245605736225459} + offsetX: -14.8 --- !u!1 &8217947329380030220 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Script/UI/Util/SliderHandleController.cs b/Assets/Script/UI/Util/SliderHandleController.cs new file mode 100644 index 000000000..ddd7e2b3b --- /dev/null +++ b/Assets/Script/UI/Util/SliderHandleController.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using UnityEngine.UI; + +[ExecuteAlways] +public class SliderHandleController : MonoBehaviour +{ + public Slider slider; + public RectTransform sliderRect; // 슬라이더 전체 UI + public RectTransform handle; // 핸들 RectTransform + public float offsetX = 0f; // X축 오프셋 (필요하면 조정 가능) + + void Start() + { + UpdateHandlePosition(); + } + + void Update() + { + UpdateHandlePosition(); + } + + void UpdateHandlePosition() + { + // 슬라이더의 좌측(X Min)과 우측(X Max) 계산 + float sliderMinX = sliderRect.rect.xMin; + float sliderMaxX = sliderRect.rect.xMax; + + // 현재 슬라이더 값에 대한 핸들의 X 좌표 계산 + float handleX = Mathf.Lerp(sliderMinX, sliderMaxX, + (slider.value - slider.minValue) / (slider.maxValue - slider.minValue)); + + // 핸들 위치 업데이트 + handle.anchoredPosition = new Vector2(handleX + offsetX, handle.anchoredPosition.y); + } +} \ No newline at end of file diff --git a/Assets/Script/UI/Util/SliderHandleController.cs.meta b/Assets/Script/UI/Util/SliderHandleController.cs.meta new file mode 100644 index 000000000..16ec37a5e --- /dev/null +++ b/Assets/Script/UI/Util/SliderHandleController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85ea459f4d429e748aac9a7c343faf72 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: