Menu
CoddyTech

Munculkan dengan Timer

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 63 dari 85.

Spawner yang membuat sesuatu setiap beberapa detik memerlukan timer. Time.deltaTime adalah waktu yang dibutuhkan frame terakhir, jadi dengan menjumlahkannya dalam sebuah field pada setiap Update(), kamu mendapatkan jumlah detik yang telah berlalu. Saat totalnya mencapai interval, buat objek baru, lalu kurangi totalnya dengan interval.

Air mancur ini melemparkan tetesan air setiap setengah detik:

public GameObject dropPrefab;
public float interval = 0.5f;
float timer;

void Update()
{
    timer += Time.deltaTime;
    if (timer >= interval)
    {
        Instantiate(dropPrefab, transform.position, Quaternion.identity);
        timer -= interval;
    }
}

timer -= interval mempertahankan sisanya: jika frame berakhir pada 0.51 detik, hitungan setengah detik berikutnya dimulai dari 0.01, dan tetesan air tetap sesuai irama. timer = 0 akan membuang sisa tersebut, sehingga setiap tetesan akan terlambat sedikit dan jedanya akan terus bertambah selama permainan yang berlangsung lama. timer bersifat private karena kamu tidak perlu mengaturnya di Inspector.

challenge icon

Tantangan

Sedang

Jatuhkan sebuah kotak setiap interval detik (2 di Inspector).

  1. Tambahkan field float timer; dan int count;. Di Update(), tambahkan Time.deltaTime ke timer.
  2. Saat timer >= interval, panggil Instantiate(boxPrefab, transform.position, Quaternion.identity); dan kurangi timer sebesar interval.
  3. Kemudian tambahkan 1 ke count dan catat "Box " + count.

Tekan tombol “Main”: sebuah kotak jatuh setiap 2 detik, dan Console menghitung Box 1, Box 2. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class BoxDropper : MonoBehaviour
{
    public GameObject boxPrefab;
    public float interval = 1f;

    void Update()
    {
        // Setiap interval detik: jatuhkan sebuah kotak dan catat "Box 1", "Box 2"...
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity