728x90

2025/03 52

[Unity] EndPanel켜고 게임 다시시작 SetActive(),LoadScene()

EndPanel 띄우기이제 시간이 0인, 게임이 종료된 상태에서 EndPanel을 켜보자마찬가지로 EndPanel오브젝트를 가져오기 위해 GameManager에 변수를 만들어준다.public GameObject endPanel;그리고 유니티에서 GameManager에 endPanel을 드래그 앤 드롭으로 넣어준다. 지금은 endPanel이 보이지 않도록 꺼져있는데, 이를 게임이 종료되었을 때 나올 수 있도록 조절을 해야한다. endPanel이 켜지는 시점은 time이 0이 되는 시점이다. 따라서 totalTime이 0이 되었을 때 endPanel이 보이도록 해보자.void Update(){ if (totalTime > 0) { totalTime -= Time.deltaTime; ..

[Unity] 타이머 Time.timeScale = 0f;

타이머값 계산하기GameManager 스크립트 전체시간 변수 선언 float totalTime=30.0f; 시간이 줄어드는 것을 표현하기 위해 totalTime값을 지속적으로 일정한 값으로 빼준다.모든 기기 들이 같은 값을 가질 수 있도록 deltaTime을 사용한다. deltaTime은 시간을 프레임 대비로 맞춰준 값이다.void Update(){ //deltaTime은 시간을 프레임대비로 맞춰준 값 totalTime -= Time.deltaTime;}타이머UI에 값 넣기우선 타이머UI를 불러오기 위해 아래와 같이 text값을 선언한다.//타이머 값을 넣어주기 위한 text컴포넌트 생성public Text timeTxt; 그리고 이전에 점수를 넣어줬던 것과 같이 text값에 totalTime..

[Unity] 게임종료UI

게임 종료 UI를 생성해보자!Canvas>UI>ImageImage의 width: 400, height: 250Color: R232 G52 B78Canvas에 위와 같이 표시됨 텍스트 추가Text추가를 위해 Image우클릭>UI> Legacy> Text이 text사이즈는 Image의 사이즈와 항상 똑같게 유지 해줄 것이다.그러기 위해서, Rect Transform에 있는 네모난 상자를 누르고,option+Shift(window는 Alt+Shift)를 누른상태로 오른쪽 하단의 네모를 눌러준다.이렇게 하면 텍스트 사이즈가 이미지 사이즈에 맞춰지게 된다.아래 사진과 같이 각각의 값을 맞게 변경한다. 아래와 같이 UI가 만들어진다.  Image오브젝트 이름을 EndPanel으로 변경한다.게임오버가 됐을 때만 이 ..

[Unity] 올라가는 점수값 UI표시 - Text타입

Canvas UI에 더해지는 점수 표시하기 콘솔창을 통해 totalScore이 잘 올라가는 것을 확인했다면 이제 Canvas밑에있는 Score텍스트에 점수를 넣어보자.Text컴포넌트에 Text값을 바꿔줘야 하므로 Text컴포넌트를 가져와야한다.문제는 GameManager에서 Text컴포넌트가 필요한데, 지금 GameManager가 붙어있는 곳과 우리가 가지고 올 Text컴포넌트가 붙어있는 곳이 같지 않다는 것이다. 이럴때는 Text컴포넌트, Text라고 하는 타입을 가져와서 활용할 수 있다.  우선 UI사용을 위해 UI와 관련된 패키지를 가져올수 있는 아래코드를 GameManager Script에 추가한다. using UnityEngine.UI;그 후 프리팹 해주었던 것처럼 Text도 아래와 같이 변수를..

[Unity] 충돌체크로 점수 증가 AddScore()

매개변수란, 이 함수를 다른 곳에서 호출했을 때 데이터를 넘겨주기 위한 공간.public void AddScore(int score){}위 코드의 score이 매개변수이다. 점수를 증가시키기 위해서 캐릭터와 빗물이 충돌했을 때 점수를 넘겨줘야한다.이 score 변수를 통해서 넘어온 데이터를 totalScore에 더해줄 것이다. Rain스크립트에서 이전에 그라운드와 충돌체크를 해준 것처럼,플레이어와 빗방울의 충돌이 이루어지면 점수를 추가하는 로직을 구현해보자. 점수 증가 로직GameManager 스크립트void MakeRain(){ Instantiate(rain);}//캐릭터와 빗물이 맞았을 때 호출public void AddScore(int score){ totalScore += score;}..

[Unity] 싱글톤(Singleton)

다른 스크립트에서 불러올 수 있게끔 싱글톤을 만들어준다. 싱글톤이란, 나 하나밖에 없다라는 뜻 한마디로 이 프로젝트의 GameManager라고 하는 객체는 나 하나밖에 없다 그리고 여러 스크립트에서 접근이 가능하게 만들어주는 기능 싱글톤 변수 선언 - 싱글톤을 위해서 public static이라는 키워드 사용- 클래스 네임과 똑같이 써줌- 변수 이름은 Instancepublic static GameManager Instance; 그리고 이 instance에는 나 자신을 넣어줘야함! private void Awake(){ Instance = this;}

[Unity] Canvas 점수보드 UI, 폰트

폰트 먼저 폰트를 적용해보자.폰트는 배민 한나체를 사용하였다.http://pop.baemin.com/fonts/hanna11yrs/BMHANNA_11yrs_ttf.ttfAssets에 Fonts폴더를 만들어 추가해주었다.  점수를 띄워주기위한 UI점수는 UI라는 것을 사용해서 보여줄 것이다. UI는 Canvas라는 도화지 위에 그려지고, 카메라 위치와는 관계가 없이 보여진다.→ 버튼 / 텍스트 / 순위를 보여줄 때에만 사용된다.UI > Legacy > Text선택 Canvas는 카메라가 찍는게 아니라 화면에 바로 그려지는 영역이다.Text를 아래와 같이 수정설정후 Main Camera를 클릭해보면 Main Camera에는 현재점수 텍스트가 보이지 않는다.하지만 Game화면에는 현재점수 텍스트가 생성된 것을..

728x90