본문 바로가기
Unity 공부

10.17 (Unity공부)

by 오랑이귀엽다 2023. 10. 17.

GameManager란 게임 전체를 조율하는 오브젝트 이다.

ex. 점수 / 다시 시작 / 3번째 다시 시작에 부스터 / 광고보기 등

GameManager 스크립트는 별도의 모양을 가진다.

sprite는 하나의 형체

Prefabs은 형체를 만드는 틀

sprite  하나로는 형체를 복제할 수 없다.

Prefabs으로 복제할 수 있는 상태로 만듬

이후 MainScene의 rain은 지워도됨

Instantiate이미 만들어진 게임 오브젝트를 필요할 때마다 실시간으로 만든다는 의미

public GameObject rain; 이것은 간단히 rain이라는 오브젝트를 사용하겠다는 선언

위 내용은 public GameObject rain; 에서 rain에 대한 정보를 넣어준것 

여기서 InvokeRepeating()함수는 Invoke()를 반복해주는 함수이다. 

("이름", 시간 딜레이, 반복 시간 단위) 3가지인수를 가지고있다.

즉. MakeRain이라는 것을 0.5초마다 계속 발생

이후 Debug.Log("비를 내려라!"); 대신 Instantiate(rain); 을 사용하면 rain 반복 생산 가능.

 

UI(User Interface)Canvas라는 도화지 위에 그려지고, 카메라 위치와는 관계가 없이 보여짐

버튼 / 텍스트 / 순위를 보여줄 때에만 씀

UI 텍스트가 없다면? 아래와 같은 방법 사용

이렇게 UI 텍스트를 이용하면 아래와 같이 표현이 가능하다.

싱글톤(Singleton) 패턴이란 런타임 동안 객체의 인스턴스를 한개만 생성되게 하는 패턴

프로그램 내에 하나의 객체만 존재해야할 때

프로그램 내에 여러 부분에서 해당 객체를 공유하여 사용할 때

이후 게임 플레이 후에 재시작 버튼을 만들기 위해 재시작 버튼을 만들고

해당 버튼은 당장 필요한 것이 아닌 후에 필요한 것이므로 Inactive로 만들어두기

게임 시간이 흐르고 멈추게 만들어 봤다.

위에서 부터 보면 우선 limit 시간을 정하고

float limit = 10; 로 정의 해준다.

이후 limit -= Time.deltaTime; 함수로 limit에서 흐른 시간 만큼을 빼주는 것을 나타냄

다음으로 timeScale이란 시간을 빠르게,느리게,멈추게 할수 있다. 

이를 이용해서 if (limit < 0) 이러한 상황에 limit과 timeScale을 0으로 만드는 상황부여

마지막으로 흐른 시간을 게임에 문자로 표시하기 위한 timeText.text = limit.ToString("N2"); 를 

넣기전에 limit과 같이 public Text timeText; 로 정의를 해준다.

(여기서 N2는 소수점 2자리까지 나타냄을 말함)

 

'Unity 공부' 카테고리의 다른 글

03.18 (TIL-Unity)  (0) 2024.03.19
10.23 (Unity 공부)  (0) 2023.10.23
10.20 (Unity 공부)  (0) 2023.10.20
10.13 (Unity공부)  (0) 2023.10.13