• ̫• 뱁새 • ̫• [1127282] · MS 2022 · 쪽지

2024-01-03 10:18:56
조회수 1,234

[Unity] Dog vs Cats (完)

게시글 주소: https://orbi.kr/00066344899

안녕하세요 뱁새입니다 (۶•<•)۶❗️


오늘은 레벨 구성과 버그 수정 및 해적 고양이 추가를 하여 게임을 완성해보는 과정에 대해 정리해볼 예정입니다


그럼 가봅쉬다❗️




첫 번째, 레벨 구성하기



1. 게임 내 레벨 시스템을 구현하기 위해 level 폴더를 Canvas 게임 오브젝트로 묶어주고

이전 게시글에서 사용하였던 체력바를 그대로 들고와 레벨바로 변형해주었습니다



기엽됴 ㅎ



2. Hierarchy만으로는 레벨 시스템을 구현할 수 없기에 gameManager.cs에 레벨업 함수를 만들어주었습니다



3. gameManager.cs에서 만든 addCat 함수를 고양이가 배부를 때에 불러오기 위해 cat.cs에서 bool 변수를 사용해주었습니다


잘려진 코드 : gameObject.transform.Find("hungry/Canvas/front").transform.localScale = new Vector3(energy / full, 1.0f, 1.0f);


4. 그리고 1~3번 과정에서 작성한 코드들이 실제 게임에 반영이 되려면 앞서 만든 level UI를 gameManager의 손에 쥐어주어야 하므로 gameManager.cs에 위 코드들을 추가해주었습니다



5. Unity로 돌아와서 gameManager에 Level Text와 Level Front가 무엇인지 설정을 해주고 실행을 해보면



6. normalCat 한 마리가 밥을 5번 먹을 때마다 우측 상단의 레벨바가 올라가는 것을 확인할 수 있습니다




두 번째, 레벨에 따른 난이도 설정과 뚱띠 고양이 출현시키기


자고로 게임이란 레벨이 올라감에 따라 어려워져야 맛도리가 있는 법입니다

그러니 레벨에 따른 난이도를 설정해보도록 하겠습니다



1. gameManager.cs에서 확률에 따라 고양이가 추가적으로 출현할 수 있도록 임의의 변수 p를 설정하고 두 가지 레벨의 경우를 만들어주었습니다



2. 그리고 level 3에서 fatCat을 출현시키기 위해 fatCat의 type를 1로, normalCat의 type를 0으로 설정한 후



3. cat.cs에서 type를 변수로 지정해주고 



4. fatCat은 normalCat과는 다르게 밥을 더 많이 먹어야 하니 밥을 10번 먹었을 때 포만감을 느끼도록 설정!



5. 속도 또한 normalCat보다 느리게 설정해주었습니다



6. 그리고 레벨에 따른 고양이 출현 빈도를 위와 같이 수정해준 후 실행해보면?



7. level 3이 되었을 때에 뚱띠 고양이가 출현하는 모습을 볼 수 있습니다




세 번째, retryBtn 버그 수정하기


현재 이 게임에는 심각한 버그가 하나 존재하는데요

그건 바로 retryBtn을 누르고 재시작 되는 게임에서 갱얼쥐가 밥을 딱 한 번만 쏘고 멍을 때린다는 것입니다



왜 이런 버그가 생기는 것인지 한 번 생각을 해보니 gameManager에 timeScale이 따로 설정되어있지 않기에

gameManager가 게임을 실행해야 하는 것인지 실행하지 말아야 하는 것인지 헷갈려해 이런 버그가 발생한 것 같아

timeScale을 추가해주었습니다




네 번째, 해적 고양이 만들기


고양이 두 마리로는 게임이 너무 단조롭기 때문에 한 마리를 더 추가해보도록 하겠습니다



1. normalCat과 fatCat을 만들 때와 같이 pirateCat 오브젝트를 만들어주고 적절한 이미지와 애니메이션을 붙여넣어주었습니다 (type = 2)



2. 이 해적 고양이는 레벨 4 이상에서 등장을 하도록 설정하고



3. 속도는 normalCat보다 빠르게 한.. -0.1f 정도로 만들어 준 후 실행!



4. 해적 고양이가 호다닥 내려오는 모습을 확인할 수 있네요!




확실히 만들어진 디자인을 가지고서 게임을 만들어보니 이전에 만든 옹졸한 게임들과는 차원이 다르긴 합니다

쓰이는 코드들은 차이가 없는데 디자인 하나로 훨씬 더 게임다워졌달까..



그래서 똥손인 나는 나중에 스킬 이펙트 이런 거 어케 구함.. ㅈ됐다 ㅋㅋ


Dog vs Cats 完


rare-더 귀여운 비둘기

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.