Menu
CoddyTech

Koin Muncul Kembali

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

challenge icon

Tantangan

Sedang

Koin yang dikumpulkan akan muncul kembali setelah respawnDelay detik, jadi selalu ada sesuatu yang bisa dikejar. Itu adalah jeda dalam satu siklus hidup koin: coroutine. Pertahankan semua yang sudah dibuat pada langkah sebelumnya, lalu ubah Coin:

  • Tambahkan public float respawnDelay = 3f;.
  • GameObject yang dinonaktifkan tidak menjalankan coroutine, jadi SetActive(false) akan menghentikan coroutine koin sebelum coroutine itu dapat memunculkan kembali koin. Sembunyikan koin dengan cara lain: nonaktifkan Renderer-nya agar koin tidak digambar, dan Collider-nya agar koin tidak dapat dikumpulkan lagi.
  • Saat koin dikumpulkan, mulai coroutine yang menyembunyikan koin, menunggu selama respawnDelay detik, lalu mengaktifkan kembali keduanya. Skor tetap ditambahkan seperti sebelumnya.

Tekan Jalankan, kumpulkan koin dan lihat koin itu muncul kembali, lalu tekan Periksa.

Coba sendiri

using UnityEngine;

public class Coin : MonoBehaviour
{
    public int value = 1;

    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            other.GetComponent<Ball>().AddScore(value);
            gameObject.SetActive(false);
        }
    }
}

Semua pelajaran di Fisika dan Gameplay