sexta-feira, 2 de maio de 2014

Visão Geral das Ações em Blueprints

Usamos as Ações para definirmos o comportamento de um Blueprint. As Ações sempre iniciam a partir de um Evento. Os principais tipos de Ações são modificações nas variáveis do Blueprint ou chamadas a funções que modificam o estado dos Atores.

Por exemplo, imagine que o Blueprint possui uma variável inteira chamada "Ammo" (munição). Queremos inicializar esta variável com o valor "50" no momento que iniciar o jogo. Para isto vamos usar o Evento "Begin Play" e arrastar a variável "Ammo" para o EventGraph usando a opção "Set":


Cada Evento só pode ser adicionado uma vez no EventGraph. Se quisermos usar mais de uma Ação para um determinado Evento temos de colocar as Ações em sequência. A imagem abaixo mostra a inicialização de duas variáveis.


Existem diversos tipos de funções disponíveis no editor. Para visualizar as categorias de funções, clique com o botão direito no EventGraph e expanda a opção "Call Function":


Como exemplo, existe uma função muito comum chamada "Destroy Actor" que remove um Ator do jogo. Imagine um Item de um jogo que será coletado pelo jogador. Quando o jogador estiver sobrepondo o Item, iremos remover o Item do jogo. Para fazer isso podemos usar o evento "Actor Begin Overlap":


As funções permitem que valores sejam passados no momento da chamada através do uso de parâmetros. A função "Destroy Actor" possui um parâmetro chamado "Target". Este parâmetro indica o Ator que será removido. O valor padrão deste parâmetro é "self" que é uma referência especial ao Ator onde o script está sendo executado. No exemplo acima, o script precisa estar no Blueprint do Item para que ele seja removido.

O evento "Actor Begin Overlap" contém uma referência ao outro Ator que está colidindo com o Ator atual. Podemos usar esta referência como valor para o parâmetro "Target" da função "Destroy Actor":


O script acima pode ser usado no Blueprint do jogador para destruir o item que foi coletado.

Podemos também usar no parâmetro "Target" uma variável que referencia algum Ator. Neste caso, o Ator que será removido será o que está sendo referenciado pela variável.


Este parâmetro "Target" é comum a diversas funções e indica qual o Ator que será modificado com a chamada da função.