개요
사용자의 입력을 받는 버튼의 기능을 구현합니다. 구현하는 버튼은 다음과 같습니다.
- 사용자가 짝을 선택할 경우 입력 받는 Even_Btn
- 사용자가 홀을 선택할 경우 입력 받는 Odd_Btn
- 게임을 초기화 시키는 Replay_Btn
구현
변수 목록은 다음과 같습니다.
Even_Btn, Odd_Btn
먼저 Even_Btn 에 적용할 이벤트 메서드 EvenBtnClick 를 선언합니다.
EvenBtnClick 의 메서드 포인터를 AddListener 의 인수로 전달합니다(델리게이트 형식). 이벤트 메서드를 등록하는 과정은 게임 시작 시 한 번만 수행하면 충분하므로 Start 메서드에 작성합니다.
이벤트 메서드 EvenBtnClick 에 포함할 주요 기능은 다음과 같습니다.
- 사용자의 선택 확인
- 1~6 범위 랜덤값 발생
- 정답 여부 확인
사용자의 선택 확인
EvenBtnClick 이벤트가 발생하면 사용자의 선택은 무조건 짝수이므로 짝수 판별에 사용하기 위해 정수형 변수 a_UserSel 에 0 으로 저장합니다.
1~6 범위 랜덤값 발생
네임스페이스 UnityEngine 에서 제공하는 Random 클래스 메서드 Range 를 사용해 1~6 범위 랜덤 정수를 생성합니다. 생성값은 정수형 변수 a_DiceNum 에 저장합니다.
정답 여부 확인
- 나머지 연산을 통해 a_DiceNum 의 홀짝 여부를 판단하고 사용자의 선택을 저장하는 a_UserSel (짝수 0 홀수 1)과 비교
- ①이 참일 경우 정답이므로 m_WinCount +1 및 m_Money +100
- 사용자의 입력에 따른 결과값을 Result_Text 로 전달
- 오답인 경우 m_Money 의 최소값을 0으로 제한 및 게임 종료 문구를 Result_Text 로 전달
Odd_Btn 의 이벤트 메서드 OddBtnClick 는 EvenBtnClick 과 기능적으로 유사하므로 생략합니다.
Replay_Btn
먼저 Replay_Btn 에 적용할 이벤트 메서드 ReplayBtnClick 를 선언합니다. 이벤트 메서드를 등록하는 과정은 EvenBtnClick 과 같습니다.
게임 씬(Scene)을 불러오면 장면을 초기화할 수 있습니다. 사용한 메서드는 네임스페이스 UnityEngine.SceneManagement 에서 제공하는 클래스 메서드 LoadScene 입니다. LoadScene 은 인자로 전달된 문자열 리터럴과 동일한 이름을 갖는 씬을 불러옵니다.
결과
'🎮프로젝트 > Unity' 카테고리의 다른 글
[Unity/프로젝트] 03 룰렛(2) (1) | 2024.11.26 |
---|---|
[Unity/프로젝트] 03 룰렛(1) (0) | 2024.11.25 |
[Unity/프로젝트] 02 가위바위보 게임(2) (0) | 2024.11.24 |
[Unity/프로젝트] 02 가위바위보 게임(1) (1) | 2024.11.20 |
[Unity/프로젝트] 01 홀짝 게임(1) (0) | 2024.11.18 |