Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Ketapel 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.
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity