[DirectX 11] 쿠키런 3일 모작
학습 및 구현
- 조작: 키보드, UI 버튼
- 애니: 더블점프, 피격, 착지, 부스트, 사망 등
- 중력, 낙하, 스폰
- 풀링, 장애물
- 체력 게이지, 사망
- 배경 스크롤링
- 스코어: 이미지 숫자 폰트
- 아이템: 체력회복, 부스트, 젤리
- 부스트 장애물 튕겨내기
- 해상도 대응
- 게임상 모든 움직임은 벡터, 행렬 연산을 기반으로 함
- 점프, 슬라이딩 조작 가능. 키 입력 or UI 버튼 클릭으로도 가능하게 함
- 상태 패턴을 활용, 일반, 점프, 슬라이딩, 사망 등 상황별 상태를 구분해,
- 점프, 더블점프, 슬라이딩, 피격, 착지, 부스트, 사망 애니메이션 구현
- 애니메이션 별 히트박스의 크기를 조정할 수 있게 함
- 점프는 중력 벡터를 음수값으로 세팅하는 방식. 플랫폼 충돌 여부에 따라 중력 변화
- 낙하 시 플레이어 리스폰 / 무적 상태일 땐 중력 미적용
- 장애물, 플랫폼은 오브젝트 풀링 방식으로 생성과 소멸은 게임 내 단 한 번.
- 장애물은 플레이어와 일정 거리 이상 떨어지면 일정 범위 랜덤 스폰
- 플레이어와 장애물 충돌 시, 체력 게이지 소모 -> 중력 조정 -> 일시적 무적 상태 -> 피격 애니메이션
- 피격 애니메이션 출력 시간과 무적 상태 시간 간 분리
- 배경은 이미지 하나로 uv 좌표 x, z 값을 계속 변경시켜 스크롤링함 (원경이라 느리게)
- Sampler 서술자의 AddressU, V, W 멤버는 WRAP 모드
- 스코어(좌측상단 숫자)는 이미지 숫자 폰트 형태로 구현
- 각 자릿수에 미리 세팅해둔 숫자 텍스쳐들을 on off 하는 방식으로 사용
-
아이템 젤리: 점수 획득 / 부스트: 캐릭터 속도 일시 증가 / 라이프: 체력 게이지 회복
- 부스트 발동 시, 스피드가 빨라지며, 무적 상태. 모든 오브젝트를 튕겨냄
- 충돌 시 계속 일정 방향 벡터로 이동 + rotation 변화
- 똑같이 리스폰됨
- 해상도 대응: 각 오브젝트 및 UI의 anchor처럼 구현
추가 필요한 사항: 젤리 패턴, 오브젝트 패턴, 사운드, 결과, 각종 UI 등
댓글남기기