유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Godot Monster Collector Battle Tutorial

Zenva

2025. 11. 5.

0

#game
  • Godot에서 2D 전투 씬을 설정하고, 배경, 카메라, 몬스터 시작 위치를 구성합니다. 🎮
  • battle.tscn을 기본 실행 씬으로 설정하여 프로젝트 시작 시 자동으로 로드되도록 합니다. ⚙️
  • Sprite2D로 배경을 추가하고 Camera2D를 자식으로 두어 배경이 화면 전체를 덮도록 조정합니다. 📸
  • 플레이어와 적 몬스터의 시작 위치를 정의하기 위해 Marker2D 노드를 사용하여 스폰 지점을 표시합니다. 📍
  • 몬스터 스프라이트를 위한 Node2D 부모 노드를 player monster spritesenemy monster sprites로 구조화합니다. 🌳
  • 개별 몬스터를 표시하는 battle_sprite.tscn 씬을 생성하고, Sprite2D를 루트 노드로 사용합니다. 👾
  • AnimationPlayer를 사용하여 battle_spriteidleattack 애니메이션을 frame 속성 업데이트를 통해 구현합니다. 🎬
  • battle.tscn에 스크립트를 추가하여 정의된 시작 위치에 battle_sprite 인스턴스를 동적으로 생성하고 배치합니다. 📝
  • battle_sprite_setupcreate_battle_sprite 함수를 구현하여 몬스터 스프라이트를 인스턴스화하고 초기 위치 및 플레이어 여부를 설정합니다. ✨
  • 플레이어 몬스터의 flip_h 속성을 조정하여 적 몬스터와 마주보도록 좌우 반전시킵니다. ↔️
  • 몬스터의 데이터(체력, 에너지, 레벨, 공격 등)는 Godot의 Resource 객체를 통해 관리되며, 시각적인 battle_sprite와 분리됩니다. 📊
  • Resource를 상속받는 MonsterResource.gd 스크립트를 생성하고 class_name을 추가하여 에디터에서 사용자 정의 리소스로 사용할 수 있게 합니다. 📜
  • MonsterResource.gdexport var를 사용하여 id (enum) 및 level과 같은 속성을 인스펙터에 노출시킵니다. 📤
  • battle_sprite.gd 스크립트에 MonsterResource 타입의 변수를 export하여 특정 몬스터 데이터 리소스(test.tres)를 연결할 수 있게 합니다. 🔗
  • 연결된 MonsterResource에서 resource.idresource.level과 같은 데이터를 battle_sprite 스크립트 내에서 접근하는 방법을 시연합니다. 🔍
  • resource.id를 사용하여 전역 data.gd 딕셔너리에서 각 몬스터에 해당하는 battle_texture를 동적으로 로드하여 시각적 변화를 구현합니다. 🖼️
  • 향후 MonsterResource에 더 많은 데이터와 함수를 추가하여 data.gd 딕셔너리에 쉽게 접근하고 몬스터를 포괄적으로 관리할 계획을 제시합니다. 📈
  • 전역 data.gdplayer_monstersenemy_monsters 배열을 도입하여 MonsterResource 인스턴스를 저장하고 게임 상태를 관리합니다. 📦

Recommanded Videos