quinta-feira, 21 de agosto de 2014

GameHUD: Fim de Jogo



O fim de jogo é gerenciado de uma forma bem simples. Quando o tempo acaba, o jogador não consegue mais coletar as estátuas e é exibido na tela os textos "GAME OVER" e "Press Enter".

O blueprint "GameHUD" possui uma variável booleana com o nome "GameOver". A criação e inicialização desta variável foi mostrada no artigo "GameHUD: Inicializando as variáveis com uma Macro".

A única condição que leva ao fim de jogo é quando o tempo for igual a zero. Este teste é realizado no Evento "Clock" que foi mostrado no artigo "GameHUD: Timer e Custom Event".

Quando a variável "GameOver" for verdadeira o jogador pode continuar a se mover mas ele não consegue pegar as estátuas, pois uma das condições testadas no momento da colisão com a estátua é que a variável "GameOver" não pode ser verdadeira, como foi visto no artigo "Statue: Ações do Graph".

No evento "Receive Draw Hud" que foi mostrado no artigo "GameHUD: Desenhando na tela", é preciso adicionar as Ações que testam se é fim de jogo e que desenham na tela os textos "GAME OVER" e "Press Enter". A versão completa do evento "Receive Draw Hud" ficou desta forma:

Clique para aumentar

Quando o jogador pressionar a tecla ENTER as variáveis do jogo serão reiniciadas. Entretanto, por padrão as classes do tipo HUD não reconhecem eventos de Input, tais como pressionamento de teclas. Precisamos habilitar o Input passando o PlayerController como parâmetro. Isto é feito no evento "Begin Play" do GameHUD:


Agora podemos adicionar o evento de input "Enter" que é acionado quando a tecla Enter é pressionada. A sua única ação é chamar a Macro StartGame que prepara as variáveis para uma nova partida:


A última modificação que precisamos fazer para concluir este simples jogo é no blueprint "MyGame" que é criado pelo modelo "TP_ThirdPersonBP" do editor. Abra o blueprint "MyGame" no modo "Defaults" e modifique a propriedade "HUD Class". Para isto clique no combo box da propriedade e escolha a opção "GameHUD". Compile e salve.



Pronto. Agora é só pressionar o botão "Play" do editor principal para experimentar o jogo.

Com este artigo está concluído a 1ª Parte deste blog: "Introdução ao Blueprints".


Próximo: Construction Script em Blueprints
Anterior: Statue: Ações do Graph
Sumário