Sumbu
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 13 dari 67.
Input.GetAxis("Horizontal") mengubah tombol panah kiri dan kanan (serta A dan D) menjadi satu angka dari -1 hingga 1: -1 untuk kiri, 1 untuk kanan, 0 jika tidak ada yang ditekan. Input.GetAxis("Vertical") melakukan hal yang sama untuk tombol panah bawah dan atas (S dan W). Satu pemanggilan menggantikan dua if, dan stik gamepad mengendalikan sumbu yang sama tanpa kode tambahan.
Angkanya tidak langsung berubah. Dengan pengaturan default Unity, nilainya bergerak menuju target dengan kecepatan 3 per detik, jadi butuh sepertiga detik untuk mencapai 1 setelah tombol ditekan, lalu sepertiga detik lagi untuk kembali ke 0 setelah tombol dilepas. Perubahan bertahap ini membuat hovercraft berakselerasi dengan lembut dan meluncur hingga berhenti:
public float speed = 5f;
void Update()
{
float h = Input.GetAxis("Horizontal");
transform.position += new Vector3(h * speed * Time.deltaTime, 0, 0);
}Input.GetAxisRaw("Horizontal") melewati perubahan bertahap: nilainya tepat -1, 0, atau 1 di setiap frame, sehingga gerakan langsung dimulai dan berhenti. Gunakan GetAxis untuk hal yang seharusnya terasa berat dan GetAxisRaw untuk kontrol yang responsif. Jika kedua tombol panah ditekan, keduanya menghasilkan 0 karena kedua arah saling meniadakan. (Dalam proyek Unity 6, pengaturan Active Input Handling dari Steer with the Keys juga berlaku untuk sumbu.)
Tantangan
MudahRover harus bergerak dengan sigap, tanpa melambat atau mempercepat secara bertahap: tombol panah (atau WASD) menggerakkannya dengan kecepatan speed unit per detik, ke kiri dan kanan sepanjang sumbu x, serta ke atas dan bawah sepanjang sumbu z. Rover bergerak dengan kecepatan penuh begitu tombol ditekan dan berhenti begitu tombol dilepas.
Tekan Play, klik game lalu kendalikan rover, kemudian tekan Check.
Coba sendiri
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Horizontal menggerakkan objek sepanjang sumbu x, Vertical sepanjang sumbu z, tanpa penghalusan gerakan.
}
}
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