-
12일차 레벨 구성하기개발일지/스파르타 코딩클럽 유니티 강의 2024. 4. 3. 15:27
오늘 배운 내용
- 레벨 UI 만들기
- 5마리 당 레벨 1씩 올리기
- 레벨업 표기해주기
- 더 많은 고양이 출현시키기
- fatCat 출현시키기
- 게임 즐겨보고 버그잡기
- 해적 고양이 만들기
새롭게 알게 된 내용
5마리 당 레벨 1씩 올리기
int level = 0; int cat = 0; public void addCat() { cat += 1; level = cat / 5; }
기본적인 수학을 이용해서 구현했다
그냥 addCat만 넣으면 점수가 계속 올라가니까 조정해주기
bool isFull = false; if (isFull == false) { gameManager.I.addCat(); gameObject.transform.Find("hungry").gameObject.SetActive(false); gameObject.transform.Find("full").gameObject.SetActive(true); isFull = true; }
bool값을 이용해서 한번 배불러진 고양이는 더 이상 점수를 올리지 않는다
레벨 텍스트, 바 구현하기
using public Text levelText; public GameObject levelFront; public void addCat() { cat += 1; level = cat / 5; levelText.text = level.ToString(); levelFront.transform.localScale = new Vector3((cat - level * 5) / 5.0f, 1.0f, 1.0f); }
레벨업이 될 수록 front 바가 0.2 > 0.4 이런 식으로 늘어나게끔 구현했다
***type 이용하기***
public int type; // 업데이트 구문 안의 if문 if (energy < full) { if (type == 0) { transform.position += new Vector3(0.0f, -0.05f, 0.0f); } else if (type == 1) { transform.position += new Vector3(0.0f, -0.03f, 0.0f); } if (transform.position.y < -16.0f) { gameManager.I.gameOver(); } }
고양이 마다의 스탯에 차이를 줄 때
타입을 이용하는 방법
따로 다른 스크립트를 사용하지 않고 cat.cs 하나로 모든 고양이를 관리할 수 있다.
***레벨마다 난이도 조정하기***
void makeCat() { Instantiate(normalCat); if (level == 1) { float p = Random.Range(0, 10); if (p < 2) Instantiate(normalCat); } else if (level == 2) { float p = Random.Range(0, 10); if (p < 5) Instantiate(normalCat); } else if (level >= 3) { float p = Random.Range(0, 10); if (p < 5) Instantiate(normalCat); Instantiate(fatCat); } }
레벨마다 start 함수 내에 있는 InvokeRepeating 함수로 인해서
1초마다 랜덤값을 만들어내 1 레벨에서는 랜덤값이 2보다 작을 경우 고양이 추가 생성,
2 레벨에서는 5보다 작을 경우 추가생성, 3레벨부터는 fatCat도 생성하도록 조정했다
오늘 발생한 문제
3레벨에서 계속 fatCat이 등장하지 않아서 살펴본 결과
난이도 조정 코드에서
level ==2 , level >= 3 이런 식으로 최종 난이도만 크거나 같을 때 발생하게 해야하는데
level >= 2 , level >= 3 으로 오타가 나 있어서 계속 2레벨의 난이도가 유지되었다.
중요하게 생각하는 부분
오늘 새롭게 배운 내용 모두가 아주 중요한 부분이다.
오늘로 3주차가 마무리 되었다.
'개발일지 > 스파르타 코딩클럽 유니티 강의' 카테고리의 다른 글
14일차 카드 배치하기 ( for 반복문 ) (0) 2024.04.08 13일차 르탄이 카드 뒤집기 게임 (0) 2024.04.05 11일차 고양이 나타내기 (0) 2024.04.02 10일차 고양이 밥주기 게임 (0) 2024.04.01 9일차 풍선 애니메이션 전환하기 ( Invoke , Has Exit Time ) (0) 2024.03.29