it leader


  • 씬 전환 
    • 씬 전환 전 준비할 사항
      • 다수의 씬이 생성되어 있어야 함
      • Build Settings -> scenes in Build 에 씬들을 드래그 앤 드랍하여야 함

Application.LoadLevel("씬명"); 


  • 현재 씬의 이름 값 가져 오기    

Application.loadLevelName;



  • GUI 만들기

public Texture2D icon = null;  //전역변수 선언


GUI.DrawTexture(new Rect(x좌표, y좌표, x Width, y Width), icon);


  • GUI 텍스트 필드 출력


GUI.Label( new Rect( x좌표, y좌표, x Width, y Width), "출력할 내용" );


  • 사운드 출력
    • 사운드 출력 전에 필요한 것들
      • 코드로 보면 복잡하지만 다음과 같은 순서이다
        1.  오디오 플레이어 실행 
        2. 플레이할 오디오 파일 지정 
        3. Play / Stop
      • 1번  : Start()에서 AudioSource 컴포넌트를 불러와 AudioSource '변수명' 에 저장.
                 출력할 사운드 파일을 저장할 변수 선언 AudioClip '변수명'
      • 2번 : clip 매써드를 사용, 출력할 사운드 파일의 변수를 지정해줌
      • 3번 :원하는 위치에서 Play()매써드로 사운드를 출력
                ( 멈추고 싶을 떄는 Stop()   매써드 )



private AudioSource audio;

public AudioClip jumpSound;


void Start()

{

// GameObject에 <AudioSource> 컴포넌트를 추가한다.

this.audio = this.gameObject.AddComponent<AudioSource>();


// jumpSound에 저장된 소리를 내도록 준비

this.audio.clip = this.jumpSound;


//반복 재생되지 않도록 설정

this.audio.loop = false;

}


void Update()

{


this.audio.Play();


}




  • 게임 오브젝트에 접근하는 방법들

    transform.Find("오브젝트 이름"); // 자식이나 부모 관계 안에서만 찾음
    GameObject.Find("오브젝트 이름"); // Hierarchy안에서 다 찾음
    GameObject.FindWithTag("태그 이름"); // 해당하는 태그에 속하는 오브젝트 반환.
                                                                여러 개일 경우 그 중에 랜덤으로 반환

    컴포넌트에 접근하는 방법
    해당 오브젝트.GetComponent<컴포넌트 이름>();


  • 오브젝트 활성 / 비활성화


    인스턴스된 오브젝트의 active 값 변경
    인스턴스된 오브젝트의 기능을 활성/ 비활성화 시키는 것
  • ex)   obj.active = true;     ==> 활성
            obj.active = false;    == > 비활성


  • 이미지 숨기기 / 보이게 하기

    • 오브젝트 활성화 /  비활성화와 비슷할 수 있지만, 스프라이트를 생성한 상태에서 화면에서 보이지 않게만 하는 것
    • 숨기기   : 이미지변수.GetComponent<spriteRenderer>().enabled = false;
    • 숨기기   : 이미지변수.GetComponent<spriteRenderer>().enabled = true;

    • ex)
      this.img.GetComponent<spriteRenderer>().enabled = false;


  • 특정시간 뒤에 함수 호출하기
    • waitForSeconds(number)
      number시간 뒤에 해당 함수를 한번더 호출하는 함수이다.


    • 이 매쏘드를 사용하기 위해서는 몇가지 알아야할 매써드들이 있다.
      • StartCoroutine("함수명")
      • IEnumerator

      • 함수를 호출할 때 StartCoroutine("함수명") 으로 호출을 해주어야 한다.
      • 그리고 호출될 함수가 void형이 아닌 IEnumerator를 붙여 주어야 한다.
      • 그리고 함수내에서 waitforSecond(delaytime)을 사용할 때는
      • yield return new waitforSecond(delayTime)
      • 다음에 실행할 코드를 넣어준다.
      • 전체코드를 보면 다음과 같다.

public float delayTime = 3;

void start()
{
StartCoroutine("sceneChange");

}

IEnumerator sceneChange()
{
yield return new waitForSecond(delayTime);

Application.LoadLevel("GameScene");

}


profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!