Conteúdo do Curso
Unity para Iniciantes
Unity para Iniciantes
OnCollisionEnter e OnTriggerEnter
OnCollisionEnter2D:
Uso: Este método é chamado quando um colisor 2D anexado ao GameObject
ao qual este script está anexado colide com outro colisor na cena e pelo menos um dos colidores tem um Rigidbody2D
anexado.
Gatilho: Este método é usado principalmente para lidar com colisões físicas, onde os objetos realmente "se chocam" entre si.
Cenário de Exemplo: Imagine que você tem um jogo com um personagem que pula e pousa em plataformas. Quando o personagem pousa em uma plataforma, você pode querer tocar um efeito sonoro de aterrissagem, mudar a animação do personagem ou acionar alguma outra ação. Você usaria OnCollisionEnter2D
para detectar quando o colisor do personagem colide com o colisor da plataforma.
OnTriggerEnter2D:
Uso: Este método é chamado quando um colisor 2D anexado ao GameObject
ao qual este script está anexado se sobrepõe a outro colisor na cena e pelo menos um dos colidores tem a propriedade "Is Trigger" habilitada.
Gatilho: Ao contrário de OnCollisionEnter2D
, este método não se trata de colisões físicas, mas sim de detectar quando um objeto entra no espaço de outro sem necessariamente parar seu movimento. Pense nisso como atravessar uma porta sem empurrá-la fisicamente.
Cenário de Exemplo: Digamos que você tenha um jogo onde o jogador coleta moedas. Quando o personagem do jogador se move sobre uma moeda, você quer aumentar a pontuação do jogador e fazer a moeda desaparecer. Você usaria OnTriggerEnter2D
para detectar quando o colisor do jogador se sobrepõe ao colisor da moeda.
O que é uma Tag?
Definição: Uma tag é um valor string que você pode atribuir a um GameObject
no Unity.
Propósito: As tags são usadas para categorizar e identificar GameObjects
para vários propósitos, como diferenciar entre objetos controlados pelo jogador, inimigos, colecionáveis, obstáculos, etc.
Usos Comuns de Tags:
Identificação de Objetos do Jogo: Tags são comumente usadas para identificar GameObjects
importantes na sua cena, como o personagem do jogador, inimigos, colecionáveis, objetivos, etc.
Detecção de Colisão: Tags podem ser usadas para determinar o tipo de GameObjects
envolvidos em colisões. Por exemplo, você pode querer verificar se o jogador colidiu com um inimigo ou um colecionável.
Detecção de Trigger: Similar à detecção de colisão, você pode usar tags para identificar GameObjects
que entram em zonas de gatilho configuradas na sua cena.
Exemplo:
Este método é chamado sempre que ocorre uma colisão entre o jogador e outro GameObject
na cena.
O método recebe um parâmetro de colisão do tipo Collision2D
, que contém informações sobre a colisão.
Ele verifica se a tag do colisor envolvido na colisão é igual a "ground".
Se a condição for verdadeira, ele imprime "você perdeu" no Console do Unity usando Debug.Log()
.
Este método é chamado sempre que ocorre uma sobreposição de gatilho entre o jogador e outro GameObject
na cena.
O método recebe um parâmetro de colisão do tipo Collider2D
, que contém informações sobre a sobreposição de gatilho.
Ele verifica se a tag do colisor que aciona é igual a "win".
Se a condição for verdadeira, ele imprime "you won" no Console do Unity usando Debug.Log()
.
Obrigado pelo seu feedback!