데브허브 | DEVHUB | Metroidvania in GODOT - Weapons TutorialMetroidvania in GODOT - Weapons Tutorial
- 플레이어는 총, 샷건, 로켓 런처 세 가지 무기를 사용할 수 있으며, 각 무기는 고유한 발사체와 애니메이션을 가집니다. 🔫
- Godot의 Enum을 사용하여 무기 데이터를 체계적으로 관리하며, 이는 가독성을 높이고 오타를 방지하는 데 유용합니다. Enum은 내부적으로 정수 값으로 처리됩니다. 🔢
data.gd라는 전역 스크립트를 생성하여 게임 전체에서 접근 가능한 데이터를 저장하고 관리합니다. 🌍
- 'toggle'이라는 새로운 입력 액션을 설정하여 플레이어가 키보드(E 키)나 컨트롤러(B 버튼)로 무기를 전환할 수 있도록 합니다. 🎮
- 현재 무기 Enum 값을 1씩 증가시키고 모듈로(%) 연산자를 사용하여 무기 목록(0, 1, 2)을 순환하도록 구현합니다. 🔄
- 선택된 무기에 따라 플레이어 캐릭터의 몸통 스프라이트 프레임(애니메이션 행)을 동적으로 변경하여 시각적인 변화를 줍니다. 👕
- 발사 신호에 현재 무기 유형(
gun_type)을 추가 매개변수로 포함시켜, 발사체가 어떤 무기에서 발사되었는지 알 수 있도록 합니다. 📡
- 총알 스크립트에서
gun_type에 따라 다른 텍스처(기본 총알, 큰 로켓)를 로드하여 발사체의 외형을 변경합니다. 💥
- 로켓 런처 발사체는 충돌 시 폭발 신호를 발생시키고, 기존에 재사용 가능한 폭발 장면을 호출하여 시각적 효과를 냅니다. 🚀
- 샷건은 일반 총알 대신 GPU Particles 2D 노드를 사용하여 파티클 효과를 생성하며, 이는 발사 시 한 번만 방출됩니다. ✨
- 샷건 파티클은 중력 없이 특정 방향과 초기 속도를 가지며, 샷건 폭발 애니메이션 텍스처를 사용하여 시각적 효과를 극대화합니다. ⚙️