2020. 7. 27. 14:48
Unity/C#
Debug.Log로 추적하기 힘든 실시간 상황값들을 추적할때 사용한다.
그냥 UGUI에 띄우면 되는거 아니냐? 하겠지만
ugui 할당하려면 캔버스 할당해서 Text 박스 맞추고 디버그모드에서만 활성화 하도록 따로 맞춰주고
누구한테 보여주려는거도 아니고 변수 하나 보는것뿐인데 여간 번거로운게 아니라 이쪽이 이득이다.
#if UNITY_EDITOR //||true
void OnGUI()
{
if (Debug.isDebugBuild)
{
GUI.Box(new Rect(0, 0, 200, 24), "Count: " + count);
}
}
#endif
public static int count = 0;
V3
void OnGUI()
{
#if UNITY_EDITOR
if (UnityEditor.EditorUserBuildSettings.development)
#else
if (Debug.isDebugBuild)
#endif
{
GUI.Box(new Rect(0, 0, 200, 24), "Count: " + count);
}
}
public static int count = 0;
왼쪽정렬이 필요할때
#if UNITY_EDITOR //||true
void OnGUI()
{
GUI.Box(new Rect(0, 0, 200, 24), "");
GUI.Label(new Rect(10, 0, 200, 24), "Count: " + count);
}
#endif
public static int count = 0;
GUIStyle을 안 쓰는 이유는 글자색이나 크기 배경색 등등을 전부 지정해줘야해서
아래처럼 짜면 실시간으로 변수를 확인하면서 수정할수 있다.
근데 가능하면 인스펙터를 쓰고 이런건 전역값들을 추적할때 쓰자
int count=0;
string input = "";
#if UNITY_EDITOR //||true
void OnGUI()
{
int lineHei = 18;
input = GUI.TextField(new Rect(10, lineHei * 4, 300, lineHei * 1)
, (input == "") ? input : count.ToString());
if(input!="")
{
count = int.Parse(input);
}
}
#endif
버튼
#if UNITY_EDITOR //||true
void OnGUI()
{
if (Debug.isDebugBuild)
{
if(GUI.Button(new Rect(100, 100, 100, 24), "button"))
{
//명령
}
}
}
#endif
'Unity > C#' 카테고리의 다른 글
c# 문자열 처리 (0) | 2020.07.28 |
---|---|
싱글톤 패턴 (0) | 2020.07.20 |
유니티 버그, 에러, 오류모음 (0) | 2020.07.20 |