Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Interação do Jogador com Objetos | Comportamento do Jogador
Jogo de Luta no Unity
course content

Conteúdo do Curso

Jogo de Luta no Unity

Jogo de Luta no Unity

1. Sistema de Animação do Unity
2. Comportamento do Jogador
3. Comportamento do Inimigo
4. Melhore o Jogo
5. Melhore o Jogo Flappy Bird

book
Interação do Jogador com Objetos

Interfaces

Uma interface é como um contrato que define um conjunto de métodos e propriedades que uma classe deve implementar. Ela permite que você especifique qual funcionalidade uma classe deve ter sem fornecer os detalhes da implementação.

Exemplo

Digamos que você está criando um jogo no Unity e deseja criar diferentes tipos de armas, como espadas, armas de fogo e arcos. Você poderia criar uma interface chamada IWeapon que delineia as ações básicas que qualquer arma deve ser capaz de realizar, como Attack() e Reload().

Agora, qualquer classe que queira ser considerada uma arma em seu jogo deve implementar essa interface. Por exemplo, você poderia ter uma classe Sword ou uma classe Gun.

Ao usar interfaces, você pode garantir que todas as suas armas tenham a mesma funcionalidade básica (Attack() e Reload()), mas cada uma pode ter sua própria implementação única. Isso torna seu código mais modular e fácil de gerenciar, especialmente à medida que seu jogo cresce em complexidade.

Esta é a interface que usamos em nosso jogo para marcar os inimigos como objetos que poderiam ser atacados.

TryGetComponent

Pontos Chave

  • raycastHit: Isso se refere ao resultado de um acerto de raycast. Quando você lança um raio no Unity, você obtém informações sobre qual objeto;
  • .TryGetComponent(out IGetAttacked getAttacked): Este método tenta recuperar um componente específico da transformação do GameObject. A palavra-chave out é usada para atribuir o componente recuperado à variável getAttacked, se bem-sucedido. Caso contrário, ignorará qualquer coisa sob esse if;
  • IGetAttacked: Este é o tipo de interface que o código está tentando recuperar do GameObject. Especifica que o GameObject deve ter um componente que implemente a interface IGetAttacked.

Se o GameObject atingido pelo raycast tiver um componente que implemente a interface IGetAttacked, a variável getAttacked manterá uma referência a esse componente após a execução desta linha. Caso contrário, getAttacked será atribuído um valor nulo.

Qual é o propósito do método `TryGetComponent` no Unity?

Qual é o propósito do método TryGetComponent no Unity?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5
We're sorry to hear that something went wrong. What happened?
some-alt