22.01.20 MiniTest

2022. 1. 20. 11:19Unity3D/수업 과제

1) 버튼을 만들고 누르면 캐릭터가 깃발까지 이동하게 한다. 깃발에 도착 시 멈춤.

2) 트랩을 만들고 캐릭터가 트랩에 닿으면 hp가 감소.

3) 골드를 만들고 캐릭터가 골드에 닿으면 gold가 증가.

 

※ UI 상으로 깃발까지의 거리, 캐릭터의 남은 hp, 캐릭터가 보유한 gold가 표기되게 한다.

 

 

결과

 

[소스코드 특이사항]

1) Canvas의 이름을 UIManager로 바꾸고 UI들을 관리할 스크립트를 넣음.

그 스크립트에는 static bool 변수가 있어서 버튼이 눌렸을 때 bool을 false로 바꾼다.

캐릭터가 이 public static bool 변수를 보고 움직여야 하는지 아닌지 판단한다.

 

2) GameManager 오브젝트에 모든 오브젝트의 충돌을 감지하는 스크립트를 넣는다.

스크립트의 멤버로 게임오브젝트 리스트를 만들었다.

캐릭터와 충돌할 수 있는 모든 오브젝트가 그 리스트에 들어간다.

 

3) GameManager 스크립트에서 반복적으로 리스트를 순회하며 캐릭터와의 거리를 계산한다.

캐릭터와 충돌했다고 감지했을 때, 캐릭터 스크립트에 있는 OnHit 대리자에

오브젝트와 충돌했을 때 실행할 함수를 넣고, 실행한다.

 

 

소스코드 GitHub 주소 : https://github.com/hanamc99/UnityGukbi/tree/Cat-Escape-Two/MiniTest/Assets/Scripts

 

GitHub - hanamc99/UnityGukbi

Contribute to hanamc99/UnityGukbi development by creating an account on GitHub.

github.com