textfield
이번시간에는 텍스트를 입력할 수 있는 텍스트필드와 드롭다운 메뉴를 만들어 드롭다운 메뉴를 동적으로 추가할 수 있는 기능을 만들어보겠습니다.
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 1
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 2
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 3
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 4
----
----
텍스트 필드
● 문자열을 수정할수있는 텍스트 필드를 만들어보자
//
void OnGUI () {
Textfield();
}
//
string textfieldString = "Default";
void Textfield () {
textfieldString = GUILayout.TextField (textfieldString, 10, GUILayout.Width (160f));
}
//결과화면
팝업 리스트
//
void OnGUI () {
PopupShow ();
}
//
string[] Pop_Names = { "pop_one", "pop_two", "pop_three" }; <- 팝업에 사용되는 문자열 리스트
int curPopindex = 0; <- 팝업에서 아이템을 선택할때마다 인덱스가 바뀐다.
void PopupShow () {
//
NGUIEditorTools.BeginContents(); <- 영역시작
//
curPopindex = EditorGUILayout.Popup (curPopindex, Pop_Names, GUILayout.Width(100f));
NGUIEditorTools.EndContents (); <- 영역끝
}
※ 영역은 반드시 만들어줄 필요가 없으나 복습하는 의미에서 틈나면 계속 사용해보아요~
//결과화면
//클릭하게 되면 아이템을 선택할 수 있게 된다.
응용편
팝업 리스트의 문자를 텍스트 필드로 변경하기
- 작업순서
1. 팝업 리스트의 문자열을 변경하기 위해 "이름변경"이란 버튼을 추가한다.
2. "이름변경"버튼을 누르게 되면 팝업들의 텍스트 필드와 "완료"버튼이 표시된다.
3. "완료"버튼을 눌러 돌아간다.
1.
2.
3.
//
void OnGUI () {
if (isPopNameChange) { <- 이름변경 화면인가?
PopNameChange ();
} else {
PopupShow ();
}
}
//
string[] Pop_Names = { "pop_one", "pop_two", "pop_three" }; <- 팝업에 사용되는 문자열 리스트
int curPopindex = 0;
bool isPopNameChange = false; <- 팝업 이름변경 플레그
//
void PopupShow () {
//
NGUIEditorTools.BeginContents();
GUILayout.BeginHorizontal ();
//
curPopindex = EditorGUILayout.Popup (curPopindex, Pop_Names, GUILayout.Width (100f));
GUILayout.FlexibleSpace ();
//
if (GUILayout.Button ("이름변경", GUILayout.Width(80f))) {
isPopNameChange = true; <- 이름변경 시작
}
GUILayout.EndHorizontal ();
NGUIEditorTools.EndContents ();
}
//
void PopNameChange () {
//
NGUIEditorTools.BeginContents();
GUILayout.BeginHorizontal ();
for (int i = 0 ; i < Pop_Names.Length ; i++) {
//해당 아이템의 이름을 변경한다. 수평으로 정렬되겠죠~
Pop_Names[i] = GUILayout.TextField (Pop_Names[i], 10, GUILayout.Width (160f));
}
GUILayout.EndHorizontal ();
NGUIEditorTools.EndContents ();
//영역 밖에 버튼을 생성
if (GUILayout.Button ("완료", GUILayout.Width(80f))) {
isPopNameChange = false; <- 이름변경 완료
}
}
//아이템 이름 변경 화면 (pop_one -> pop_1로 변경)
'Programming > 유니티' 카테고리의 다른 글
유니티 (Unity) 파티클 연습해보기 (아틀라스 사용) (0) | 2016.06.09 |
---|---|
유니티 파티클 관리 (0) | 2016.06.09 |
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 4 (2) | 2016.06.08 |
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 2 (0) | 2016.06.04 |
유니티 EditorWindow 를 이용하여 유용한 툴을 만들어보자 - 1 (0) | 2016.06.03 |