멍멍이네 블로그

Unity3D - OnGUI

GUI를 위해 메소드를 지원합니다. (기본 메소드라 각자 알아서 최적화나 사용에 따르게 수정하는것을 강추하는 비추천 메소드.)

 

void OnGUI(){

GUI.Label(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "라벨 텍스트");

GUI.Button(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "버튼 텍스트");

 

if(GUI.Button(new Rect(시작점 x좌표, 시작점 y좌표, 가로길이, 세로길이), "버튼 텍스트")){

// 버튼이 클릭됐을 때

}

}

GUI의 메소드를 사용하기 위해서 영역설정은 Rect로 해줌(2D 사각형).

Rect의 시작점은 화면상 좌측상단을 0,0으로 기준.

오른쪽으로 갈수록 x는 ++됨.

아래로 갈수록 y는 ++됨.


 

예시 )

int i=0;
 void OnGUI () {
  if (Stage == STAGE.MIRROR) {
   GUI.Label (new Rect (30, 670, 100, 20), "Test");
   GUI.Button(new Rect(130, 690, 100, 20), "버튼1");

 

   if (GUI.Button (new Rect (230, 710, 100, 20), "클릭버튼")) {
   i=1;

   Debug.Log("i : " + i);
  }

}

 

i = 0인데, 클릭버튼 이라는 버튼을 클릭하면 i가 1이 됨.