Menu
CoddyTech

Apa yang Kutabrak?

Termasuk bagian Fisika dan Gameplay dalam perjalanan Unity di Coddy. Pelajaran 9 dari 63.

Collision yang diteruskan Unity ke OnCollisionEnter menjelaskan sisi lain dari kontak. collision.gameObject adalah object yang kamu tabrak, jadi collision.gameObject.name adalah namanya, dan collision.gameObject.CompareTag("Hazard") memeriksa tag-nya. (collision.collider adalah collider tertentu yang kamu sentuh, ketika sebuah object memiliki beberapa collider.)

Mobil bumper ini mencatat semua yang ditabraknya dan mengeluhkan hazard:

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

Baris pertama yang dicatatnya adalah Bumped into Floor, tepat saat game dimulai: lantai tempatnya berdiri juga merupakan collision. Jadi, skrip yang merespons benturan selalu memeriksa terlebih dahulu apa yang ditabraknya. Perhatikan object mana yang kamu sebut: CompareTag("Hazard") saja memeriksa object milikmu sendiri, dan Destroy(gameObject) menghancurkan object milikmu sendiri, sedangkan Destroy(collision.gameObject) menghapus object yang kamu tabrak.

challenge icon

Tantangan

Mudah

Kendarai bajak salju dengan tombol panah (sudah ditulis) dan beri tugas. Kedua blok putih diberi tag Snow.

  • Saat bajak menabrak object dengan tag Snow, hancurkan blok itu, tambahkan 1 ke hitungan, lalu catat: Cleared 1, Cleared 2.
  • Semua yang disentuh bajak, termasuk tanah dan tembok, tetap berada di tempatnya.

Tekan Jalankan dan bersihkan jalan, lalu tekan Periksa.

Coba sendiri

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);
    }

    // Salju yang ditabrak bajak salju: hancurkan, hitung, lalu catat jumlahnya di log
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Fisika dan Gameplay