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.
Tantangan
SedangMulai 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
speedunit per detik. - Nilai x-nya tidak pernah kurang dari
-laneEdgeatau lebih darilaneEdge, 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
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar Scripting Unity
1Skrip Pertamamu
Halo, UnityLetakkan KubusBergerak di Setiap FrameBerputar Setiap DetikKendalikan dengan TombolRingkasan: Kendarai Kubus4Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak antara BendaVector3 adalah StructRingkasan: Pilot Drone7Proyek: Tangkap Bintang
Si PenangkapBintang Jatuh5Transformasi dan Hierarki
Objek Induk dan AnakSkalaMenghadap ke ObjekBergerak Menuju TitikRangkuman: Bulan yang Mengorbit6GameObject dan Komponen
Referensi di InspectorMendapatkan KomponenKomponen yang HilangMenambahkan KomponenRequireComponentTampilkan dan SembunyikanRangkuman: Sakelar Lampu