GUI Layout은 유니티 에디터에서도 사용하지만
일방적으로 많이 사용되지 않는다.
using UnityEditor;
using UnityEngine;
public class GUISample : EditorWindow
{
bool toggle = true;
Vector2 scrollPosition;
string longString = "This is a long-ish string";
GUIStyle contentStyle = new GUIStyle();
[MenuItem("MyTool/OpenTool")]
static void Open()
{
var window = GetWindow<GUISample>();
window.title = "myTool";
Debug.Log(window.GetType());
}
private void OnGUI()
{
//가로열을 적용할때 Begin과 End를 묶어줘야 한다.
EditorGUILayout.LabelField("Horizontal");
EditorGUILayout.BeginHorizontal();
{
toggle = EditorGUILayout.Toggle("Toggle", !toggle);
EditorGUILayout.IntSlider(5, 0, 10);
}
EditorGUILayout.EndHorizontal();
if (GUILayout.Button("Button")) Debug.Log("Abc");
EditorGUILayout.BeginVertical();
{
//스크롤 세로를 100으로 가로도 설정할 수 있지만 사용 안하려면 비워도 됨
scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Height(100));
GUILayout.Label(longString);
//버튼을 누르면 조건문 안에를 실행
if (GUILayout.Button("Clear")) longString = "";
//텍스트 필드
GUILayout.TextField("ID");
//비번 필드
GUILayout.PasswordField(" ", '*');
//텍스트 스타일을 GUI에 적용
contentStyle.alignment = TextAnchor.MiddleLeft;
contentStyle.fontStyle = FontStyle.Bold;
//박스 콘텐츠
GUILayout.Box("This is Box Field Area \nCan Free Form", contentStyle);
GUILayout.Label("Bold", contentStyle);
GUILayout.EndScrollView();
}
EditorGUILayout.EndVertical();
}
}
참고로 GUI에는 4가지 종류가 있는데
- GUI : 에디터와 플레이중에도 적용되지 않는 GUI
- GUILayout : 플레이를 해야 적용되는 GUI
- EditorGUI : 플레이를 멈춰야 적용되는 GUI
- EditorGUILayout : 플레이를 해도 안해도 적용되는 GUI
말고도 GUI중 다른 위젯들도 많은데 설명하는 양이 너무 많기 때문에 코드로 간단하게 보여준다.
더 많은 내용을 알고싶으면 이 링크를 참고하자
Unity - Scripting API: GUILayout
Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close
docs.unity3d.com
by 스파르타 코딩클럽
'개발 TIL' 카테고리의 다른 글
6/28 부트캠프 개발 TIL (Sprite Atlas) (0) | 2024.07.03 |
---|---|
6/27 부트캠프 개발 TIL (유니티 단축키들) (0) | 2024.07.02 |
6/25 부트캠프 개발 TIL (디버깅에 관하여) (0) | 2024.07.01 |
6/24 부트캠프 개발 TIL (상태머신 FSM) (0) | 2024.06.27 |
6/21 부트캠프 개발 TIL (디자인 패턴) (0) | 2024.06.26 |