Ditekan, Ditahan, Dilepas
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 12 dari 67.
Unity bisa memberitahumu tiga hal berbeda tentang sebuah tombol, dan masing-masing diperiksa di Update():
Input.GetKeyDown(KeyCode.Space): apakah tombol Space ditekan pada frame ini? Nilainya true pada satu frame untuk setiap tekanan.Input.GetKey(KeyCode.Space): apakah tombol Space sedang ditekan sekarang? Nilainya true pada setiap frame selama tombol Space ditahan.Input.GetKeyUp(KeyCode.Space): apakah tombol Space dilepas pada frame ini? Nilainya true pada satu frame, saat tombol dilepas.
Tahan tombol Space selama setengah detik pada 60 frame per detik, dan GetKey bernilai true pada 30 frame, GetKeyDown pada frame pertama, dan GetKeyUp pada frame setelah frame terakhir. Meriam yang menembak sekali untuk setiap tekanan memeriksa GetKeyDown; dengan GetKey, satu tekanan akan menembakkan 30 peluru:
public int shots = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
shots++;
Debug.Log("Shots fired: " + shots);
}
}GetKeyUp digunakan untuk hal yang terjadi saat pemain melepas tombol, seperti sprint yang berakhir. Ketiganya hanya memberikan jawaban untuk frame saat ini, itulah sebabnya semuanya digunakan di Update(): fungsi ini berjalan pada setiap frame, sedangkan Start() berjalan sekali dan akan melewatkan hampir setiap tekanan tombol.
Tantangan
MudahKetapel mengisi daya selama Space ditekan: charge bertambah 1 untuk setiap detik Space ditekan, dan tidak bertambah saat Space tidak ditekan. Saat Space dilepas, catat Charge: diikuti jumlah daya (misalnya Charge: 1.5), lalu atur kembali charge menjadi 0 untuk tembakan berikutnya.
Tekan Play, tekan dan lepaskan Space, lalu amati Console. Kemudian tekan Check.
Coba sendiri
using UnityEngine;
public class Slingshot : MonoBehaviour
{
float charge = 0f;
void Update()
{
// Selama Space ditekan: charge bertambah 1 setiap detik.
// Saat Space dilepas: catat nilai charge, lalu atur kembali ke 0.
}
}
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