-
2D 슈팅게임 05. Enemy Hit 및 아이템 드롭
오늘은 날아다니는 Enemy 들을 맞췄을 시 발생하는 Hit 모션과 아이템이 드롭되는 부분을 구현하고 게임을 완성 시키려고 합니다. 전과 같은 방법으로 Sprite를 애니메이션으로 만들어주어 Hit 모션을 만들어 줬습니다. 애니메이션을 만드는 과정에서 Has Exit Time 부분을 종종 깜빡하는 경우가 생기는데 Has Exit Time 를 체크해두면 전 애니메이션의 동작이 완료된 후에 트랜지션대로 전이가 됩니다. 반대로 Has Exit Time 를 언체크 해두시면 즉시 전이가 되기에 깜빡하지 않는 습관을 들인다면, 시간을 절약시킬 수 있습니다. Enemy의 Animator 입니다. 평상시는 대기상태로 나는 모션을 취하다가, 히트가 됐을 시 Hit모션 재생 후 다시 BirdRed의 대기 상태로 돌아옵니다..
-
2D 슈팅게임 04. Enemy 제작
Enemy로 사용될 Bird Sprite 들은 유니티 에셋 스토어에서 무료로 다운로드하였습니다. 이 새(Enemy) 들은 맵의 좌/우 한 방향으로 이동을 하며 1. 총 3종류로 각 스피드가 다릅니다. 2. Atk(공격 물체)에 맞으면 드롭되는 아이템들도 다릅니다. 3. 종류 : 코인 / 똥 / 버프 로 크게 3가지를 구성 계획으로 잡았습니다. 이제부턴 Monster/새/ 등을 Enemy로 칭하겠습니다. Enemy에게 RigidBody2 D 컴포넌트를 추가시켰습니다. 중력을 받으면 안 되기에 RigidBody2 D 영역에 있는 Gravity Scale은 0으로 바꿔 주었습니다. 스크립트에 들어가기에 앞서 애니메이션을 Idle로 칭해 만들어 주겠습니다. Enemy의 스크립트입니다. birdSpeed_를 pu..
-
2D 슈팅게임 03. 점프 및 공격 모션
오늘은 Player의 점프 및 Attack 모션을 진행해 보겠습니다. 이동 구현과 마찬가지로 Rigidbody를 이용해서 점프를 시각적으로 보여줄 예정입니다. 백문 불여일견. 바로 진행하겠습니다. Jump 스크립트 입니다. Rigdbody는 rb란 변수로 선언해 담아 왔고 Animator는 ani란 변수로 선언해 담아왔습니다. jump를 하는데 필요한 jumpSpeed (점프 스피드)와 2단 이상의 중복 점프를 막기 위해 점프 중인지 체 크할 불 변수 isJump를 선언하였습니다. 점프 구현을 생각하니 초기 점프 구현 부분에 상당히 애먹었던 적이 있습니다. 다행히 CollisionFlags 변수의 Below 이용해 if(cc.collisionFlags == CollisionFlags.Below)의 조건으..
-
2D 슈팅게임 02. 캐릭터 이동구현
타이틀 씬에서 게임 화면 씬으로 넘어가는 것처럼 보이는 효과를 SetActive를 활용해 UI를 비활성화시켜주며 완성을 시켰습니다. 지난 받아온 Sprite들을 이용하여 Player와 Monster를 만들고 Player의 이동구현은 현재 모바일 환경이기에 조이스틱으로 캐릭터를 움직일 예정입니다. 유니티 에셋 스토어에서 받아온 무료 캐릭터의 Idle 이미지를 가져왔습니다. 이후 중력을 적용시켜줄 수 있는 Rigidbody 2D (3D x)와 Collider 2D (3D x)를 입혀 생명을 불어넣어 주었고 바닥과 양 벽을 빈 오브젝트에 콜라이더를 추가시켜주어 캐릭터가 떨어지거나, 필요 이상의 x축으로 나가는 것을 막았습니다. Collider에 대해 찾아보던 도 중, 알게 된 사실인데 Sphere Collid..
-
2D 슈팅게임 01. 게임 디자인 및 준비단계
먼저 작업에 앞서 01 챕터에서는 게임에 필요한 단순 준비 단계를 보여주기에 동작 구현을 보실 분들은 2D 슈팅게임 02.부터 봐주신다면 방문하여 주신 귀하의 바쁜 시간에 조금이나마 보탬이 될 것 같습니다. 개인 프로젝트인 작은 2D 슈팅게임을 만들어 본 적이 있습니다. 이번 기회에 제 것으로 만들기 위해서 개발 과정을 하나씩 캡처를 하며 빠르진 않더라도 과정을 보여드리려고 합니다. 배경과 플레이어에 따라 제목이 달라질 것 같아서 게임의 제목은 아직 정하지 못했습니다. 우선 제가 만들고자 하는 게임의 간단한 소개는 이러합니다. 1.Player는 좌 우 이동이 가능하며 점프가 가능합니다. 2.Player가 공격 버튼을 클릭하여 몬스터를 맞출 시, 몬스터는 공격 물, 코인, 버프 아이템을 랜덤으로 낙하합니다..