์˜ˆ์ „์— ๋งŒ๋“ค์—ˆ๋˜ ์œ ๋‹ˆํ‹ฐ ์—๋””ํ„ฐ ์ฐฝ์ด ์ข€ ๋ณด๊ธฐ ๋ถˆํŽธํ•ด์„œ ๊ณ ์ณ ๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ


์—ฌ๊ธฐ์„œ ์ง„์งœ ๊ฝ‰ ๋ง‰ํž˜...


์ˆ˜ํ‰์œผ๋กœ ์Šคํฌ๋กค ํ•˜๋ฉด์„œ area๋“ค์„ ๋ณด๊ณ  ์‹ถ์€๋ฐ, ์ด๊ฒŒ ๋ญ ์–ด์ผ€ ์•ˆ๋˜๊ณ  ๊ฒ€์ƒ‰ํ•ด๋„ ์ž˜ ๋ชป์ฐพ๊ฒ ๋„ค


์•ˆ๊ทธ๋ž˜๋„ ๋นก๋Œ€๊ฐ€๋ฆฌ์ธ๋ฐ ๋ช‡์‹œ๊ฐ„ ์”จ๋ฆ„ํ•˜๋‹ค ๋จธ๋ฆฌ๊ฐ€ ๋ฉˆ์ถฐ๋ฒ„๋ฆผ..




[MenuItem("Window/UI_scrolltest")] public static void Init() { Editor_scrollviewTest window = GetWindow<Editor_scrollviewTest>(typeof(Editor_scrollviewTest)); window.minSize = new Vector2(600, 600); window.Show(); } Rect edit_data_rect; Vector2 edit_data_scrollposition_horizonal; Color edit_data_color = new Color(0.1f, 0.4f, 0.4f); int count = 5; void OnGUI() { count = EditorGUILayout.DelayedIntField(count); edit_data_rect.x = 0; edit_data_rect.y = 100; edit_data_rect.width = position.width; edit_data_rect.height = position.height - 100; // EditorGUI.DrawRect(edit_data_rect, edit_data_color); GUILayout.BeginArea(edit_data_rect); // (a GUILayout.BeginHorizontal();//(b var child_width_each = edit_data_rect.width / count; child_width_each = Mathf.Clamp(child_width_each, 400, 800); edit_data_scrollposition_horizonal = GUILayout.BeginScrollView(edit_data_scrollposition_horizonal, GUILayout.Width(position.width), GUILayout.Height(edit_data_rect.height));

for (int i = 0; i < count; i++) { var element = new Rect(child_width_each * i, 0, child_width_each, edit_data_rect.height); EditorGUI.DrawRect(element, new Color(0.3f, 0.3f, 1 * i / count)); GUILayout.BeginArea(element); if (GUILayout.Button("wtf")) { } if (GUILayout.Button("wtf2")) { } if (GUILayout.Button("wtf1")) { } GUILayout.EndArea(); } GUILayout.EndScrollView(); // c)) GUILayout.EndHorizontal();//b) GUILayout.EndArea(); // (a }



์ง€๊ธˆ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด




์ด๋ ‡๊ฒŒ ์ž˜๋ ค์„œ ๋‚˜์˜ค๊ณ  ์Šคํ‰ ์Šคํฌ๋กค๋ฐ”๋Š” ์•ˆ๋œธ

๊ตฌ๊ธ€๋ง๋„ ํ•ด๋ณด๊ณ  ์—ฌ๋Ÿฌ ๋…ธ๋ ฅ์„ ํ–ˆ์ง€๋งŒ ๋‹ต์„ ๋ชป์ฐพ๊ฒ ๋‹ค ๋„์™€์ค˜...