Menu
CoddyTech

Pelari

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

Bab ini membangun game kecil, Dodge the Blocks. Kamu mengarahkan pelari di sepanjang jalur sementara balok-balok berjatuhan dari langit, dan satu sentuhan mengakhiri permainan. Seluruh game terdiri dari satu skrip, Runner, yang mendapatkan fitur di setiap pelajaran: mengarahkan pelari, balok yang berjatuhan, membersihkan balok, benturan, dan skor.

Fitur pertama adalah mengarahkan pelari agar tetap di jalur, dengan Mathf.Clamp(value, min, max) dari Catch the Star: fungsi ini mengembalikan min saat nilai berada di bawah rentang, max saat nilai berada di atas rentang, dan nilai itu sendiri jika tidak. Letak clamp itu penting. Meter pengisian ini terisi selama Space ditekan, berkurang saat Space tidak ditekan, dan tidak pernah keluar dari rentang 0 hingga 10:

[SerializeField] private float charge = 0f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        charge += 4f * Time.deltaTime;
    }
    else
    {
        charge -= 2f * Time.deltaTime;
    }
    charge = Mathf.Clamp(charge, 0f, 10f);
    transform.localScale = new Vector3(0.5f, charge, 0.5f);
}

Clamp diterapkan setelah perubahan. Jika clamp diterapkan lebih awal, nilai bisa berakhir satu langkah melewati batas pada akhir frame, dan bilah akan digambar berdasarkan nilai tersebut. Mathf.Clamp juga mengembalikan angka baru alih-alih mengubah variabel yang kamu berikan, jadi tetapkan kembali hasilnya ke variabel tersebut.

challenge icon

Tantangan

Sedang

Mulai tantangan Dodge the Blocks dengan runner. Inspector memberikan nilai speed (6) dan laneEdge (4) pada skrip Runner.

  • Panah kiri dan kanan menggerakkan runner sepanjang sumbu x dengan kecepatan speed unit per detik.
  • Nilai x-nya tidak pernah kurang dari -laneEdge atau lebih dari laneEdge, sehingga runner tetap berada di jalur.

Tekan Play, klik game dan bergeraklah ke kedua ujung jalur, lalu tekan Check.

Coba sendiri

using UnityEngine;

public class Runner : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private float laneEdge = 4f;

    void Update()
    {
        // gerakkan sepanjang sumbu x dengan tombol panah, lalu pertahankan x di dalam jalur
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity