Menu
CoddyTech

O que eu acertei?

Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 9 de 63.

O Collision que o Unity passa para OnCollisionEnter descreve o outro lado do contato. collision.gameObject é o objeto com o qual você colidiu, então collision.gameObject.name é o nome dele, e collision.gameObject.CompareTag("Hazard") verifica a tag dele. (collision.collider é o collider exato que você tocou, quando um objeto tem vários.)

Este carrinho de bate-bate registra tudo com que colide e reclama de perigos:

void OnCollisionEnter(Collision collision)
{
    Debug.Log("Bumped into " + collision.gameObject.name);
    if (collision.gameObject.CompareTag("Hazard"))
    {
        Debug.Log("Ouch!");
    }
}

A primeira linha que ele registra é Bumped into Floor, no momento em que o jogo começa: o chão em que ele está também é uma colisão. Portanto, um script que reage a impactos sempre verifica primeiro o que atingiu. Preste atenção a qual objeto você nomeia: CompareTag("Hazard") sozinho verifica o seu próprio objeto, e Destroy(gameObject) destrói o seu próprio objeto, enquanto Destroy(collision.gameObject) remove aquele que você atingiu.

challenge icon

Desafio

Fácil

Dirija o limpa-neve com as setas (já escritas) e dê uma tarefa a ele. Os dois blocos brancos estão marcados com Snow.

  • Quando o limpa-neve bater em um objeto marcado com Snow, destrua esse bloco, adicione 1 à contagem e registre: Cleared 1, Cleared 2.
  • Todo o resto em que o limpa-neve tocar, incluindo o chão e a parede, permanece onde está.

Pressione Jogar e limpe a estrada; depois, Verificar.

Experimente você mesmo

using UnityEngine;

public class Plow : MonoBehaviour
{
    public float speed = 3f;
    private Rigidbody rb;
    private int cleared;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        float h = Input.GetAxisRaw("Horizontal");
        rb.linearVelocity = new Vector3(h * speed, rb.linearVelocity.y, 0);
    }

    // Neve que o limpa-neve atingir: destrua-a, conte-a e registre a contagem
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Física e jogabilidade