Menu
CoddyTech

Titik Perhentian

Pelajaran 1 dari 25 dalam kursus Game Unity: Tower Defense di Coddy.

Dalam kursus ini, kamu membuat game pertahanan menara: musuh berjalan melewati jalur dalam beberapa gelombang menuju markasmu, lalu menara yang kamu bangun di samping jalur menghentikan mereka. Setiap pelajaran menambahkan satu fitur. Tekan tombol “Main” untuk mencobanya dan tombol “Periksa” untuk menilainya. Semua dua belas skrip sudah ada di proyek sejak awal; sebagian besar berupa kerangka singkat yang akan dilengkapi oleh pelajaran berikutnya, dan EnemyData disediakan untuk pelajaran 2.

Jalurnya terdiri dari delapan titik arah, WP0 di tempat kemunculan hingga WP7 di markas, dalam array waypoints milik Grunt. Grunt menyimpan indeks titik yang ditujunya dan bergerak ke sana. Vector3.MoveTowards tidak pernah melewati targetnya, jadi Grunt berhenti tepat di titik arah dan == dapat mengetahui bahwa Grunt telah tiba:

Vector3 target = waypoints[3].position;
transform.position = Vector3.MoveTowards(transform.position, target, 5f * Time.deltaTime);
if (transform.position == target)
{
    // sudah sampai: menuju titik berikutnya
}

Setelah titik arah terakhir, indeksnya sama dengan waypoints.Length, dan membaca array pada indeks itu akan menimbulkan error, jadi periksa indeksnya sebelum kamu menggunakannya.

challenge icon

Tantangan

Mudah

Buat Grunt berjalan menyusuri jalur, dari satu titik jalan ke titik jalan berikutnya.

  1. Di Enemy, tambahkan private int next = 1; (Grunt mulai di WP0).
  2. Di Update, kembalikan kendali saat next >= waypoints.Length.
  3. Bergeraklah menuju waypoints[next].position dengan Vector3.MoveTowards pada kecepatan speed * Time.deltaTime; saat sudah sampai, jalankan next++.

Tekan tombol “Main”: Grunt berjalan melewati setiap sudut dan berhenti di markas. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Enemy : MonoBehaviour
{
    public float speed = 2f;
    public Transform[] waypoints;

    void Update()
    {
        // Ikuti jalur di sini: dari satu waypoint ke waypoint berikutnya secara berurutan.
    }
}

Semua pelajaran di Game Unity: Tower Defense

Latihan sendiri: Playground Unity