Maison >développement back-end >C++ >Comment détecter les événements de clic / touche sur les éléments d'interface utilisateur et les GameObjects dans Unity?
Ce guide explique comment détecter les événements de clic et de toucher sur les éléments de l'interface utilisateur d'Unity et les GameObjects.
Détection de l'élément d'interface utilisateur clique
Pour les éléments d'interface utilisateur (images, rames, boutons, etc.), utilisez le système d'événements d'Unity au lieu de l'API d'entrée. Joindre un script implémentant l'interface d'événement appropriée à votre élément d'interface utilisateur.
Interfaces d'événement UI
pour des éléments comme l'image, le rawimage et le texte:
<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>
boutons:
Les boutons offrent une approche plus simple en utilisant l'événement 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>
Détection des clics sur GameObjects
Pour détecter les clics sur les jeux 3D ou 2D, ajoutez un PhysicsRaycaster
(pour 3D) ou Physics2DRaycaster
(pour 2D) à votre appareil photo principal. Ensuite, vous pouvez utiliser les mêmes interfaces d'événements que décrites ci-dessus pour les éléments d'interface utilisateur. Assurez-vous que votre GameObject a un collisionneur.
Dépannage du système d'événements
Si les clics ne s'inscrivent pas:
PhysicsRaycaster
ou Physics2DRaycaster
) à votre appareil photo. En suivant ces étapes, vous pouvez gérer efficacement les événements de clic et de contact dans vos projets d'unité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!