Perubahan peristiwa
Photogallery

Klik acara

Sebuah ClickEvent terjadi ketika pengguna mengklik tombol kiri mouse (atau tombol pertama pada perangkat pointing) atas VisualElement.

Sebuah klik terdiri dari acara pointer down diikuti oleh acara pointer di VisualElement yang sama. Penunjuk diperbolehkan untuk bergerak antara dua peristiwa, selama peristiwa turun dan up terjadi di VisualElement yang sama.

Acara ini dapat digunakan untuk mendeteksi klik pada elemen visual yang tidak tombol. Misalnya, implementasi kontrol Toggle menggunakan ClickEvent untuk menunjukkan atau menyembunyikan tanda cek, dan untuk mengubah nilai kontrol.

Kelas dasar untuk ClickEvent adalah PointerEventBase. Untuk informasi lebih lanjut silakan lihat dokumentasi tentang Acara Pointer.

Event Description Trickles down Bubbles up Cancellable
ClickEvent Occurs ketika tombol kiri mouse diklik.

Sifat unik

ClickEvent tidak memiliki sifat unik, tetapi mengherankan semua sifat dari kelas dasarnya. Anda dapat menemukan daftar properti di halaman Acara Pointer.

Daftar acara

ClickEvent

Unity mengirimkan acara ini ketika tombol kiri mouse diklik atas elemen visual.

target: Elemen di bawah perangkat mouse atau titik saat klik terjadi.

Gunakan kode berikut untuk mendaftarkan ClickEvent pada elemen visual:

visualElement.RegisterCallback<ClickEvent>(OnClickEvent);

Examples

Contoh berikut menunjukkan cara bereaksi terhadap KlikEvent pada elemen visual berwarna. Ketika elemen diklik, warnanya akan berubah menjadi warna baru, acak.

Untuk melihat contoh dalam tindakan, lakukan berikut:

  1. Buat skrip C# baru yang disebut ClickEventExampleWindow.
  2. Salin kode contoh ke dalam skrip C#.
  3. Di bawah Window > UI Toolkit > Click Event Example, buka jendela Editor yang baru dibuat.
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;

public class ClickEventExampleWindow : EditorWindow
{
  [MenuItem("Window/UI Toolkit/ClickEventExample")]
  public static void ShowExample()
  {
    var wnd = GetWindow<ClickEventExampleWindow>();
    wnd.titleContent = new GUIContent("Click Event Example");
  }

  public void CreateGUI()
  {
    // Create a few different colored boxes
    for (int i = 0; i < 4; i++)
    {
      // Create VisualElement with random background color
      var newBox = new VisualElement() { style = { flexGrow = 1, backgroundColor = GetRandomColor() } };
      rootVisualElement.Add(newBox);

      // Register a click event to the visual element to change the background color to a new color
      newBox.RegisterCallback<ClickEvent>(OnBoxClicked);
    }
  }

  private void OnBoxClicked(ClickEvent evt)
  {
    // Only perform this action at the target, not in a parent
    if (evt.propagationPhase != PropagationPhase.AtTarget)
      return;

    // Assign a random new color
    var targetBox = evt.target as VisualElement;
    targetBox.style.backgroundColor = GetRandomColor();
  }

  private Color GetRandomColor()
  {
    return new Color(Random.Range(0, 1f), Random.Range(0, 1f), Random.Range(0, 1f));
  }
}
Perubahan peristiwa
Photogallery