Menu
CoddyTech

Si Penangkap

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 36 dari 67.

Bab ini membuat game kecil, Catch the Star, dengan satu fitur di setiap pelajaran: sebuah bintang jatuh, kamu menggeser penangkap ke kiri dan kanan di bawahnya, setiap tangkapan mendapat skor dan membuat bintang berikutnya jatuh lebih cepat, dan tiga kali luput mengakhiri game. Semuanya ada dalam satu script, Catcher, pada penangkap. Fitur pertama adalah pergerakan: penangkap bergeser dengan tombol panah dan tidak pernah meninggalkan lantai.

Menjaga angka tetap dalam batas adalah tugas Mathf.Clamp(value, min, max). Fungsi ini mengembalikan min ketika nilainya di bawah min, max ketika nilainya di atas max, dan nilainya sendiri jika tidak demikian. Kamera ini mengikuti pemain menaiki menara, tetapi ketinggiannya tetap di antara 2 dan 12:

[SerializeField] private Transform player;

void Update()
{
    float y = Mathf.Clamp(player.position.y, 2f, 12f);
    transform.position = new Vector3(transform.position.x, y, transform.position.z);
}

Clamp mengembalikan angka baru dan tidak mengubah apa pun dengan sendirinya, jadi tetapkan hasilnya. Lakukan Clamp setelah semua perubahan pada frame tersebut dan sebelum kamu menulis kembali posisi, sehingga tidak ada frame yang menampilkan object melewati batasnya.

challenge icon

Tantangan

Sedang

Buat catcher (bilah biru) bergerak. Saat tombol panah kanan ditekan, bilah bergerak ke kanan (searah +x). Saat tombol panah kiri ditekan, bilah bergerak ke kiri. Keduanya bergerak dengan kecepatan speed unit per detik. Nilai y dan z tidak pernah berubah.

Lantai membentang dari x = -5 hingga x = 5, dan catcher lebarnya 2 unit. Batasi nilai x-nya agar seluruh catcher selalu berada di lantai.

Tekan Play, klik game dan coba tombol panah, lalu tekan Check.

Coba sendiri

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;

    void Update()
    {
        // Tombol panah: geser sepanjang sumbu x dengan kecepatan speed unit per detik.
        // Jaga agar seluruh catcher tetap di lantai (x dari -5 hingga 5, lebar catcher adalah 2).
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity