In diesem Handbuch wird erläutert, wie Sie Klick- und Berührungsereignisse sowohl in UI -Elementen als auch in GameObjects erkennen.
Das UI -Element erkennen
Für UI -Elemente (Bilder, Rohimages, Schaltflächen usw.) verwenden Sie das Ereignissystem von Unity anstelle der Eingabe -API. Fügen Sie ein Skript hinzu, das die entsprechende Ereignisschnittstelle an Ihr UI -Element implementiert.
UI -Ereignisschnittstellen
für Elemente wie Bild, Rawimage und Text:
<code class="language-csharp">public class ClickDetector : MonoBehaviour, IPointerDownHandler, IPointerClickHandler, IPointerUpHandler, IPointerExitHandler, IPointerEnterHandler, IBeginDragHandler, IDragHandler, IEndDragHandler { // Implement event functions (e.g., OnPointerClick, OnPointerDown, etc.) }</code>
Schaltflächen:
Schaltflächen bieten einen einfacheren Ansatz mit dem Ereignis onClick
:
<code class="language-csharp">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 } }</code>
Erkennen Klicks auf GameObjects
, um Klicks auf 3D- oder 2D GameObjects zu erkennen, fügen Sie Ihrer Hauptkamera eine PhysicsRaycaster
(für 3D) oder Physics2DRaycaster
(für 2D) hinzu. Dann können Sie dieselben Ereignisschnittstellen wie oben beschrieben für UI -Elemente verwenden. Stellen Sie sicher, dass Ihr GameObject einen Collider hat.
Fehlerbehebung beim Ereignissystem
Wenn Klicks nicht registrieren:
PhysicsRaycaster
oder Physics2DRaycaster
) Ihrer Kamera hinzu. Wenn Sie diese Schritte ausführen, können Sie Klick- und Berührungsereignisse in Ihren Einheitsprojekten effektiv verwalten.
Das obige ist der detaillierte Inhalt vonWie erkenne ich Klick-/Berührenereignisse in UI -Elementen und GameObjects in Einheit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!