Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya mengesan peristiwa klik/sentuh pada unsur -unsur UI dan GameObjects dalam perpaduan?

Bagaimanakah saya mengesan peristiwa klik/sentuh pada unsur -unsur UI dan GameObjects dalam perpaduan?

Linda Hamilton
Lepaskan: 2025-02-03 00:26:08
asal
627 orang telah melayarinya

How Do I Detect Click/Touch Events on UI Elements and GameObjects in Unity?

mengendalikan klik dan sentuhan dalam UI Perpaduan dan GameObjects

Panduan ini menerangkan cara untuk mengesan peristiwa klik dan sentuh pada kedua -dua unsur UI dan GameObjects.

mengesan klik elemen UI

untuk elemen UI (imej, rawimages, butang, dan lain -lain), menggunakan sistem acara Perpaduan dan bukannya API input. Lampirkan skrip yang melaksanakan antara muka acara yang sesuai ke elemen UI anda.

antara muka acara ui

untuk elemen seperti imej, rawimage, dan teks:

public class ClickDetector : MonoBehaviour, IPointerDownHandler, IPointerClickHandler,
    IPointerUpHandler, IPointerExitHandler, IPointerEnterHandler,
    IBeginDragHandler, IDragHandler, IEndDragHandler
{
    // Implement event functions (e.g., OnPointerClick, OnPointerDown, etc.)
}
Salin selepas log masuk

Butang: Butang

menawarkan pendekatan yang lebih mudah menggunakan acara

: onClick

public class ButtonClickDetector : MonoBehaviour
{
    public Button button1;
    public Button button2;

    void OnEnable()
    {
        button1.onClick.AddListener(() => ButtonClicked(button1));
        button2.onClick.AddListener(() => ButtonClicked(button2));
    }

    void ButtonClicked(Button button)
    {
        // Your button click handling code here
    }
}
Salin selepas log masuk

Mengesan klik pada GameObjects

Untuk mengesan klik pada GameObjects 3D atau 2D, tambahkan

(untuk 3D) atau PhysicsRaycaster (untuk 2D) ke kamera utama anda. Kemudian, anda boleh menggunakan antara muka peristiwa yang sama seperti yang diterangkan di atas untuk elemen UI. Pastikan GameObject anda mempunyai collider. Physics2DRaycaster

Menyelesaikan masalah sistem acara

jika klik tidak mendaftar:

  • sistem acara: Sahkan sistem acara wujud di tempat kejadian anda.
  • kanvas: Pastikan elemen UI anda adalah anak -anak kanvas.
  • raycaster: Tambahkan komponen raycaster yang sesuai ( atau PhysicsRaycaster) ke kamera anda. Physics2DRaycaster
  • Lampiran skrip: Sahkan skrip pengesanan dilampirkan pada elemen UI yang betul atau GameObject.
  • Halangan: Semak elemen UI yang bertindih menyekat pengesanan klik.
dengan mengikuti langkah -langkah ini, anda dapat menguruskan peristiwa klik dan sentuh secara berkesan dalam projek perpaduan anda.

Atas ialah kandungan terperinci Bagaimanakah saya mengesan peristiwa klik/sentuh pada unsur -unsur UI dan GameObjects dalam perpaduan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan