Terminando

Agora completamos toda a funcionalidade do nosso jogo. Abaixo estão alguns passos restantes para dar uma apimentada para melhorar a experiência do jogo. Sinta-se livre para expandir a jogabilidade com suas próprias ideias.

Sinta-se livre para expandir a jogabilidade com suas próprias ideias.

Plano de Fundo

The default gray background is not very appealing, so let's change its color. One way to do this is to use a ColorRect node. Make it the first node under Main so that it will be drawn behind the other nodes. ColorRect only has one property: Color. Choose a color you like and select "Layout" -> "Anchors Preset" -> "Full Rect" either in the toolbar at the top of the viewport or in the inspector so that it covers the screen.

You could also add a background image, if you have one, by using a TextureRect node instead.

Efeitos sonoros

Sound and music can be the single most effective way to add appeal to the game experience. In your game's art folder, you have two sound files: "House In a Forest Loop.ogg" for background music, and "gameover.wav" for when the player loses.

Adicione dois nós AudioStreamPlayer como filhos de Principal. Nomeie um deles como Musica e o outro como SomDeMorte. Em cada um, clique na propriedade Stream ("fluxo"), selecione "Carregar", e escolha o arquivo sonoro correspondente.

Todo o áudio é automaticamente importado com a configuração Loop desativada. Se você quiser que a música loop continuamente, clique na seta do arquivo Stream, selecione Make Unique, em seguida, clique no arquivo Stream e verifique a caixa Loop.

../../_images/unique_resource_music.webp

Para reproduzir a música, adicione $Musica.play()``na função ``new_game() e $Musica.stop() na função game_over().

Por fim, adicione $SomDeMorte.play() na função game_over().

func game_over():
    ...
    $Music.stop()
    $DeathSound.play()

func new_game():
    ...
    $Music.play()

Atalho de teclado

Como o jogo é jogado com controles de teclado, seria conveniente se pudéssemos iniciar o jogo pressionando uma tecla do teclado. Uma maneira de fazer isso é usando a propriedade "Atalho" do nó Button.

Numa lição anterior, nós criamos quatro ações de entrada para mover o personagem. Criaremos uma ação de entrada similar para o botão de início.

Selecione "Project" -> "Project Settings" e clique na aba "Input Map". Da mesma forma que criou as ações de entrada ara movimentação, crie uma nova entrada chamada start_game e adicione uma tecla mapeada para Enter.

../../_images/input-mapping-start_game.webp

Agora seria um bom momento para adicionar suporte ao joystick se você tiver um disponível. Anexar ou emparelhe seu joystick e, em seguida, sob cada ação de entrada que você deseja adicionar suporte o joystick, clique no botão "+" e pressione o botão correspondente, d-pad, ou direcional do pino analógicos que você deseja mapear para a respectiva ação de entrada.

In the HUD scene, select the StartButton and find its Shortcut property in the Inspector. Create a new Shortcut resource by clicking within the box, open the Events array and add a new array element to it by clicking on Array[InputEvent] (size 0).

../../_images/start_button_shortcut.webp

Crie um novo InputEventAction e nomei-o `start_game.

../../_images/start_button_shortcut2.webp

Agora, quando o botão iniciar aparecer, você pode clicar nele ou pressionar Enter para iniciar o jogo.

E com isso, você completou seu primeiro jogo 2D em Godot.

../../_images/dodge_preview.gif

Você acabou de fazer um personagem controlado pelo jogador, inimigos que são gerados aleatoriamente pela tela de jogo, contador de pontos, implementar um fim de jogo e repetição, interface de usuário, sons, e mais. Congratulações!!!

Ainda há muito a aprender, mas você pode dar um tempo e apreciar sua conquista.

And when you're ready, you can move on to Seu primeiro jogo 3D to learn to create a complete 3D game from scratch, in Godot.

Compartilhando o jogo finalizado com outras pessoas

Se você quiser que as pessoas experimentem seu jogo sem precisar instalar o Godot, será necessário exportar o projeto para cada sistema operacional no qual deseja que o jogo possa ser executado. Veja Exportando projetos para instruções.

Após exportar o projeto, compacte o executável exportado e o arquivo PCK (não os arquivos brutos do projeto) em um arquivo ZIP, depois envie esse arquivo ZIP para um site de compartilhamento de arquivos.