Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
마무리 작업
우리는 게임의 모든 기능을 마친 상태입니다. 밑에 남아있는 단계는 게임의 경험을 향상시킬 "주스"를 추가하는 것입니다. 독창적인 아이디어로 자유롭게 게임 플레이를 확장시켜보세요.
자신만의 아이디어로 게임 플레이를 확장해 보세요.
배경(Background)
회색 기본 배경은 그다지 매력적이지 않아요, 그러니 색깔을 바꿔봅시다. 그 방법 중 하나는 ColorRect 노드를 사용하는 것입니다. Main 바로 밑의 첫 번째 노드로 만들어서 다른 노드의 뒤에 그려지도록 하세요. ColorRect에는 오직 하나의 속성: Color만 있습니다. 원하는 색깔을 고르고 "레이아웃(Layout)" -> "사각형 전체(Full Rect)"를 선택해서 화면을 덮어주세요.
대신 TextureRect 노드를 사용해 배경 이미지를 추가할 수도 있습니다.
소리 효과
소리와 음악은 게임 경험을 매력적으로 만들어주는 가장 효과적인 요소가 될 수 있습니다. 게임 애셋 폴더에서, 두 개의 소리 파일을 찾을 수 있습니다: "House In a Forest Loop.ogg"는 배경 음악으로, "gameover.wav"는 플레이어가 죽었을 때 사용하면 됩니다.
두 개의 AudioStreamPlayer 노드를 Main의 자식으로 추가하세요. 하나는 Music으로, 다른 하나는 DeathSound로 이름지으세요. 각각 Stream 속성을 클릭하고 "불러오기"를 선택해서 이름에 맞는 오디오 파일을 선택하세요.
모든 오디오는 자동으로 Loop 설정이 비활성화된 상태로 가져옵니다. 음악이 끊김 없이 반복되도록 하려면 Stream 파일 화살표를 클릭하고, Make Unique``를 선택한 후 Stream 파일을 클릭하고 ``Loop 상자를 체크합니다.
음악을 실행시키려면, new_game() 함수에 $Music.play()를 추가하고 game_over() 함수에 $Music.stop()을 추가하세요.
마지막으로 game_over() 함수에 $DeathSound.play()를 추가하세요.
func game_over():
...
$Music.stop()
$DeathSound.play()
func new_game():
...
$Music.play()
public void GameOver()
{
...
GetNode<AudioStreamPlayer>("Music").Stop();
GetNode<AudioStreamPlayer>("DeathSound").Play();
}
public void NewGame()
{
...
GetNode<AudioStreamPlayer>("Music").Play();
}
키보드 단축키
게임은 키보드 조작으로 진행되기 때문에 키보드의 키를 눌러 게임을 시작할 수도 있다면 편리할 것입니다. Button 노드의 "Shortcut" 속성을 사용해 이 작업을 수행할 수 있습니다.
이전 단원에서, 캐릭터를 이동시키기 위해 네 개의 입력 동작을 만들었습니다. 이번에는 시작 버튼에 매핑할 유사한 입력 동작을 만들겠습니다.
"프로젝트" -> "프로젝트 설정"을 선택한 다음 "입력 맵" 탭을 클릭합니다. 이전에 이동 입력 동작을 만들었던 것과 같은 방식으로, start_game이라는 새로운 입력 동작을 만들고 Enter 키에 대한 키 매핑을 추가합니다.
지금은 컨트롤러를 지원할 수 있는 좋은 시점입니다. 컨트롤러를 연결하거나 페어링한 다음, 컨트롤러 지원을 추가하려는 각 입력 동작 아래에서 "+" 버튼을 클릭하고 해당 입력 동작에 매핑하려는 버튼, d-패드, 또는 스틱 방향을 누릅니다.
HUD 씬에서 StartButton을 선택하고 인스펙터에서 Shortcut속성을 찾습니다. 상자 내에서 클릭하여 새로운 Shortcut 리소스를 생성하고, Events 배열을 열고 Array[InputEvent] (size 0)를 클릭하여 새 배열 요소를 추가합니다.
새로운 InputEventAction을 생성하고 이름을 start_game으로 설정합니다.
이제 시작 버튼이 나타날 때, 버튼을 클릭하거나 Space를 눌러서 게임을 시작할 수 있습니다.
이렇게 해서 Godot에서 첫 번째 2D 게임을 완성했습니다.
플레이어가 제어하는 캐릭터를 만들고, 게임 보드 주변에 무작위로 소환되는 적들, 점수 계산, 게임 오버 및 재시작, 사용자 인터페이스, 소리 등을 구현했습니다. 축하합니다!
배울 것이 아직 많이 남아 있지만, 지금까지 달성한 것을 잠시 되돌아보며 자축해도 좋습니다.
준비가 되면, 3D 게임 시작하기를 참고하여 Godot에서 처음부터 완전한 3D 게임을 만드는 방법을 배울 수 있습니다.