Unity/Unity 개발

Unity 카드 뒤집기 게임 고도화 하기 (3-1) 스테이지 구성하기

leedh1211 2025. 4. 11. 20:34

Unity 강의를 듣고 카드 뒤집기 게임을 완성하고, 추가 도전과제를 받아 게임을 고도화 하는 작업을 진행했다.

도전과제는 

  • 사운드 삽입하기
  • 게임에 연출넣기
  • 스테이지, 난이도 추가하기

이 세가지로 이번 포스팅은 마지막, 스테이지를 추가하고 난이도 설정하는 작업을 진행해보았다.

 

우선, Stage선택 장면을 만들기 위해 StageScene을 만들어 주었다.

StageScene에는 간단하게, 스테이지 선택이라는 Text와, Easy, Normal, Hard의 버튼들로 만들어주었다.

여기서 스테이지 별로 해금하게끔 하게 하기위해 StageManager 스크립트를 만들고 여기에 변수설정을 해주었다.

스테이지 난이도는, 카드의 수와 제한시간으로 차별을 두게끔했다.

 

저 버튼에 StageSelect라는 함수를 만들고 그 함수의 파라미터로 정수 Stage를 입력하게끔 해놓았다.

이러면 StageSelect에서 받는 Satge변수를 Unity Hub에서 각 버튼마다 Button의 OnClick함수에 넣어주고, 변수를 설정해준다.

현재 PlayerPrefs에 StageNum을 담고있으므로, MainScene으로 넘어갔을때, 그 값을 가져와 스테이지별로 카드의 수와, 제한시간을 설정해준다.GameManager스크립트의 Update안에 있는 시간과,

카드를 설정하는 부분에서 단순 정수로 하드코딩을 해두지 않고 정수를 받아서 배열을 만들고, 카드를 배치하게 해 두었기때문에

단순히 기존 변수인 TotalCard의 값을 바꿔주면

자연스레, 4*n의 형태로 카드가 배열되게 된다.

마지막으로 히든의 구조를 잡고 마무리 지었다.

 

히든은 예전 고전게임에서 타이틀텍스트를 클릭하면 히든으로 플레이할 수 있었던 기억을 떠올려, 타이틀텍스트를 2초내에 5회 연속적으로 클릭하면 히든스테이지로 시작하게 만들었다.

 

히든스테이지는 카드는 20장에 기존 제한시간보다 적은 20초로만 플레이하게끔 난이도를 높였다.

히든에 구조는 위와 동일했으니 히든의 접근방법을 만드는것에대해만 적겠다.

title에 버튼 component를 붙혀주고, 이 버튼이 눌리면 실행할 함수 OnSecretButtonPressed 를 만들어 주었다. 

 

여기서 isCounting 이란 2초 내에라는 기준을 두었기 때문에, Update()를 보면 알 수 있다.

초기 isCount의 값은 false로 처음 클릭되면, OnSecretButtonPressed에 의해 timer가 0초로 설정되고 isCounting이 true로 바뀌게 된다. 그 이후 tapCount를 하나 더해주고 그 이후 timeLimit초내에 클릭되면 아래에 따라 TapCount가 늘어나서 5이상이 되면 히든 스테이지로 접근 가능하게끔 설정해 주었다.