-
내일배움캠프 43일차 TIL - 유니티 심화 주차 개인 과제 1TIL/Unity 2024. 6. 17. 20:31
[한 줄 요약]
유니티 심화 주차 개인 과제를 진행하여, 주제 선정 및 필수 기능 구현을 완료하였다.
[학습 내용]
유니티 심화 주차 개인 과제
주제 선정
주제
유니티 심화 주차 과제로 다음 세 개의 주제가 주어졌다.
- 길 건너기 게임
- 2D 클리커 게임
- 3D 방치형 RPG 게임
나는 이 중에서 2D 클리커 게임을 선정했다. 하루 남짓한 시간 밖에 남지 않아서 RPG를 구현하기는 어렵다고 봤기 때문이기도 하고, 만들어본 적이 없는 장르였기 때문이다.
필수 구현 사항
클릭 이벤트 처리
우선 InputAction을 통해 사용자 마우스 클릭 입력을 받았다. 그리고 그 타이밍의 마우스 위치를 잡아서 레이캐스트를 하여 목표물을 클릭하였는지 알아냈다.
public bool IsDolHarbang() { Vector2 mPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(mPos, Vector2.zero); if (hit.collider != null) { if (hit.collider.gameObject == gameObject) return true; } return false; }
자동 클릭 기능
코루틴을 이용하여 일정 시간마다 자동 클릭하는 기능을 구현하였다.
public void AutoClickActive() { if (GameManager.Instance.gameData.Auto) { StartCoroutine(AutoClickCoroutine()); } } private IEnumerator AutoClickCoroutine() { while (true) { yield return new WaitForSeconds(GameManager.Instance.gameData.AutoIntervalTime); GameManager.Instance.dolHarbang.GetComponent<ClickDolHarbang>().InvokeDolHarbangClickEvent(); } }
점수 시스템
우측 상단에 점수 UI를 만들고 반영되도록 구현하였다.
아이템 및 업그레이드 시스템
하단에 업그레이드 관련 UI를 만들고 버튼을 통하여 업그레이드를 할 수 있도록 구현하였다.
업그레이드할 수 있는 항목은 클릭당 재화 획득량, 그리고 자동 클릭 기능의 구매와 성능 향상이다.
게임 내 통화 시스템
위 기능들의 구현 과정에서 자연스럽게 구현되었다.
[결과물]
[회고]
오늘은 필수 구현 사항 위주로 진행을 했다. 시간이 많이 없어서 일단 핵심 기능을 위주로 진행했는데 다행히 목표 시간 안에 끝난 거 같다. 내일 오후 12시 제출이기 때문에 오전에 열심히 진행하여 사운드나 파티클 시스템도 넣을 수 있을 것 같다. 다행히 클릭 기능을 이벤트로 구현하여 오래 걸리지는 않을 거 같다.
'TIL > Unity' 카테고리의 다른 글
내일배움캠프 45일차 TIL - 유니티 심화 주차 팀 프로젝트 1 (0) 2024.06.19 내일배움캠프 44일차 TIL - 유니티 심화 주차 개인 과제 2 (0) 2024.06.18 내일배움캠프 42일차 TIL - 3D 게임 심화 개발 (0) 2024.06.14 내일배움캠프 41일차 TIL - 2D/3D 게임 심화 개발 (0) 2024.06.13 내일배움캠프 40일차 TIL - 2D 게임 심화 개발 1 (0) 2024.06.12