기획 의도:
간단하게 한 판씩 플레이하며, 목표도 가질 수 있는 점수 시스템을 도입해,계속해서 플레이를 할 수 있는 게임을 제작하는 게 기획의도이다.
사용한 에셋:
https://assetstore.unity.com/packages/2d/textures-materials/sky/free-skyboxes-space-178953 (배경만 사용)
https://assetstore.unity.com/packages/2d/textures-materials/dynamic-space-background-lite-104606(배경만 사용)
게임 제작 기능 구성:
사용한 컴포넌트 : Rigidbody2D,Box Collider2D,Animator
총 6개의 스크립트로 이루어져 각 스크립트의 주요 기능을 설명
- GameStart.cs
게임 시작버튼 관련 스크립트이다.
SceneManagement를 이용해 GameStart 버튼을 누르면 LoadScene을 통해 메인 게임으로 넘어가게됨.
- PlayerMove.cs
플레이어가 직접 조작하는 객체의 움직임을 담당하는 스크립트이다.
Rigidbody2D 물리엔진을 이용한 이동방법과, Animator 컴포넌트를 불러와 각 이동버튼을 클릭했을때 그에맞는 Animation을 출력하게끔하는 기능을 넣었다.
- Enemy_Instance.cs
적을 생성하는 스크립트이다.
적으로 할 객체를 프로젝트 창을 통해 프리펩을 먼저 생성해주고 저장해준뒤, fTime을 선언한 후
fTime +=Time.deltaTime;을 이용해 if(fTime>=2)이 될때 Vector3와 Instantiate를 통해 위치,생성의 기능을 담았다. 여기서 생성은 랜덤으로 InvokeRepeating함수를 이용해 랜덤으로 생성되는 Enemy 객체와 위치이다.
- Enemy.cs
적이 플레이어를 따라가게하게끔 하는 스크립트이다.
점-점 = 벡터 기하학원리를 이용해 따라오게끔 만들었고, 여기서 기존에 생성된 객체를 10초가 지났을때 없애주는 작업을 진행했다.
SceneManagement를 이용해서 타겟 객체(플레이어)와 충돌했을때 LoseScene을 출력하게끔 기능을 넣었다.
LoseScene에는 최종 점수를 보여주며 GAMEOVER을 보여준다.
- Game_Score.cs
게임의 점수를 보여주는 스크립트이다.
static 으로 Score 변수를 선언한 뒤, using UnityEngine.UI를 사용해 기존에 만든 Text를 사용할 수 있게끔 변수로도 선언해준다.. text에 출력하게끔 기능을 넣어준뒤 FixedUpdate()에 Score++로 점수가 계속 증가하게끔 만들어준다.
- 시작화면

Start버튼만 보이는 시작화면이다. 버튼을 누르면 메인씬으로 넘어간다.
- 메인화면

랜덤으로 생성되는 객체와 플레이어가 움직일 수 있는 주인공 캐릭터가 보인다. 좌측 상단엔 점수가 Time +=Time.deltaTime;으로 계산되는걸 직접 보여준다.
- 게임오버화면

게임영상
유튜브: https://youtu.be/s5LBG1KDtZU
'Unity STUDY' 카테고리의 다른 글
[Unity 3D] 탱크 게임 - 탱크 모형 만들기 (간단한 텍스쳐 입히기) (0) | 2025.04.04 |
---|---|
[Unity 2D] 유니티 2D게임 각종 오브젝트 생성 및 움직임 구현 (0) | 2025.03.20 |
[Unity] 유니티 다운로드 방법과 대학생 무료 1년 인증방법 (0) | 2025.03.15 |