-
스파르타 부트캠프 게임개발입문주차 개인과제게임 개발기록 2024. 5. 26. 00:10
타일맵을 이용하여 맵을 만들고 캐릭터가 움직이는 게임을 만들자.
플레이어의 움직임은 InputSystem을 이용한 옵저버패턴을 사용해서 똑같이 구현함.
캐릭터의 Animation도 강의 들었던 것과 같은 형식으로 구현함.
여기서 캐릭터의 flipX를 ture,false 주는 것을 조금 다르게 구현함. 왼 쪽을 눌렀을 때 체크, 오른 쪽 누르면 체크 해제 하게 했음.
private void LookLotation(Vector2 direction)
{
if(direction.x == idle) return;
else if(direction.x == left)
{
if(characterSpriteRenderer.flipX) return;
characterSpriteRenderer.flipX = true;
}
else if(direction.x == right)
{
if(!characterSpriteRenderer.flipX) return;
characterSpriteRenderer.flipX = false;
}
}코드. 처음에 키보드를 떼면 캐릭터의 flipx가 다시 체크 해제가 되어서 0일 경우에 return을 줬음.
근데 전체적으로 이건 별로 좋은 방법이 아닌 것 같음. 캐릭터가 문워크를 할 때가 엄청 많음.
MoveEvent가 실행 될 때 같이 실행 되게 했음.
그리고 시작화면에서 이름을 입력하고 그 이름을 넘겨 받아서 캐릭터이름에 사용을 해야 함.
캐릭터선택 기능도 있어야 함.
버튼을 누르면 씬 이동. 등을 구현 하는데 이건 해설강의를 봤음.
그런데 하다보니 구조를 잘 못 짜서 캐릭터선택기능을 만들면서 코드가 많이 더러워짐.
InputSystem을 이용한 캐릭터움직임을 구현 할 때 제대로 작성 했는데 움직이지 않는 문제를 발견.
원인 -> 타일맵을 이용한 바닥을 만들었는데 이 바닥에도 Collider를 적용 해서 생긴 문제였음. 컬라이더를 없애서 문제를 해결함. 나는 바닥에 떨어지지 않게 하려는 생각에 바닥 타일맵에도 컴포넌트를 추가 했었음. Gravity Scale이 0이여서 어차피 떨어지지 않음. // 2D는
'게임 개발기록' 카테고리의 다른 글
스파르타 3D 서바이벌게임 / 상호작용기능 만들기 / 유니티 숙련주차 (1) 2024.06.04 스파르타 3D 서바이벌 게임 / 아이템 만들기 / 유니티 숙련주차 (1) 2024.06.04 TopDown Shooting Game / 적 구현 하기 (0) 2024.05.25 TopDown Shooting Game / Animation 기능 만들기 (0) 2024.05.25 TopDownShooting Game / 오브젝트풀을 이용한 화살 만들기 (2) 2024.05.24