2 minuto(s) de leitura

1. Trabalhando herança com Blueprint

Como apresentado no conceito de classes, a herança permite usar classes já definidas para derivar novas classes, a seguir vamos verificar como implementar utilizando Blueprint.

Exemplo de classe Herói que derive de Humanos:

└── Character
    ├── BeginPlay()
    └── Humanos
        ├── Vida (float) = 100    
        ├── Dano (float) = 100        
        ├── BeginPlay() (herdado)
        ├── Heroi
        |   ├── Vida = 100 (herdado)
        |   └── Dano = 50 (herdado)
        └── Vilao
            ├── Vida = 100 (herdado)
            └── Dano = 80 (herdado)    

2. Criando uma classe filho

Figura: Create Child Blueprint Class.
Selecionando o objeto pai e acionamento o menu de contexto (RMB) acessamos a opção para criar a classe derivada.

3. Variáveis da classe pai

Figura: MyBlueprint propriedades.
Podemos exibir as variáveis, componentes ou eventos da herdados da classe pai, no exemplo acima a variável NameBase pertence a classe pai.

4. Herança de propriedades e métodos

É possível sobrescrever os métodos da classe pai para adicionar uma nova lógica, vamos aos passos.

Criando um evento para sobrescrever o evento Begin Play.

Figura: Functions Override.
Podemos sobrescrever os métodos da classe pai.

5. Executando um evento da classe pai

Figura: Parent: Begin Play.
Clicando com o botão direito (RMB) acessamos a opção Add Call to Parent Function que executa a classe pai antes de executar o próximo comando.

6. Componente ChildActor

O componente ChildActor permite associar uma classe filha utilizando a lista de componentes.

Figura: ChildActor.
O componente ChildActor associa uma outra classe ao objeto.

ChildActor - É necessário informar a classe filho neste componente.

7. Referências de atores e componentes

Figura: Reference Viewer.
Clicando com o botão direito (RMB) podemos acessar a opção para visualizar todas as referências do objeto. No exemplo acima BP_ActorChild2 é uma classe derivada do BP_ActorBase e BP_ActorChild está associada usando o componente ChildActor.

8. Manipulando Actors

Podemos adicionar, remover ou selecionar os atores que estão na cena do jogo, a seguir vamos implementar e entender esses comandos.

8.1. Spawn e Destroy Actors - Criando e destruindo um Actor

O processo de criação de uma nova instância de um ator é conhecido como spawning. A geração de atores é realizada usando a função SpawnActor. Esta função cria uma nova instância de uma classe especificada e retorna um ponteiro para o Actor recém-criado. SpawnActor só pode ser usado para criar instâncias de classes que herdam da classe Actor em sua hierarquia.

Figura: Exemplo de SpawnActor e DestroyActor.
Cria o ator na posição do objeto TargetPoint e se ele já está na cena o destrói.

Utilizando o Level Bluprint podemos implementar o código acima.

  1. Ao pressionar a tecla B o ator e criado na cena utilizando as coordenadas de um componente targetPoint adicionando na cena;

  2. O comando flip/flop é utilizado para intercalar entre criar e destruir o ator, com os métodos SpawnActor e DestroyActor respectivamente;

  3. Usamos IsValid para verificar se o ator existe na cena.

8.2. Listando Actors por classe

Utilizando a função GetAllActorOfClass e o loop For Each Loop podemos listar todos os atores na cena.

Figura: GetAllActorOfClass.
Lista todos os objetos instanciados da classe BP_ActorBase e os destrói.
Cafegeek - Criando e destruindo objetos Criando, destruindo e listando objetos na cena. [Link]