Unity 5로 '따라하면서 배우는 유니티 3D 입문' 3장 3D 슈팅 게임 따라하기.

* 지구의 주위를 도는 우주폐기물인 데브리들을 마우스로 클릭하여 제거하는 게임.
* 타이틀 화면에서 마우스 좌클릭시 게임 시작, 30초간 게임 진행, 30초가 다 지나면 타임 오버 표시 화면으로 이동, 마우스 좌클릭시 3초 뒤 타이틀 화면으로 이동.

Sphere로 지구 만들기, Plane으로 배경 만들기, Cube로 우주 쓰레기 만들어 프리팹화. 빈 게임오브젝트로 지구 뒷 쪽에 우주 쓰레기가 생성될 SpawnPoint 만들기.

코루틴 개념을 새로 배우다.
StartCoroutine ("SpawnDebris"); 형태로 함수를 실행하고
StopCoroutine ("SpawnDebris"); 형태로 함수를 중지시키며
IEnumerator SpawnDebris() {
  while (true) { //무한 루프
    Instantiate(debri, transform.position, Quaternion.identity);
    //interval 시간만큼 작업 중지
    yield return new WaitForSeconds(interval);
  }
}
형태로 Update()함수 처리와 별개로 특정 시간마다 반복되는 루프를 실행한다.

빈 게임오브젝트 만든 뒤 Component-Rendering-GUIText 추가하여 점수와 타이머 표시용 GUIText 만들기. 위치는 점수 x:0.02 y:0.96, 타이머 x:0.02 y:0.92

png 파일들을 불러들인 뒤 Texture Type을 Editor GUI and Legarcy GUI로 변경, Apply.
빈 게임오브젝트 만든 뒤 Component-Rendering-GUITexture 추가하여 제목과 타임 오버 png를 GUI Texture항목 Texture에 적용. 위치는 각각 x: 0.5, y: 0.5

* 다른 컴포넌트에 접근:
-GameObject.Find("게임오브젝트 이름")으로 접근 가능
ex) timer = GameObject.Find ("GUITextTimer").GetComponent<csTimer>();
//GUITextTimer 게임오브젝트의 Timer 스크립트 취득
-public으로 선언된 함수 호출이 가능.
ex) timer.StartTimer(); //Timer 스크립트 내 StartTimer 함수 실행

* 각 호출 게임오브젝트의 해당 함수 실행 지시
ex) spawnPoint.SendMessage("StartSpawn");
score.SendMessage("InitScore");

* 컴포넌트의 활성화/비활성화 전환:
인스펙터 뷰에서 컴포넌트 좌상단의 체크 박스를 켜고 끄는 것과 같은 효과.
ex) guiTitle.enabled = true; //활성화
guiTitle.enabled = false; //비활성화

15/10/31 토