本指南說明瞭如何在Unity UI元素和GameObjects上檢測單擊並觸摸事件。
檢測UI元素點擊
> 對於UI元素(圖像,映射,按鈕等),>使用Unity的事件系統而不是輸入API。 將實現適當事件接口的腳本附加到您的UI元素。
UI事件界面
對於圖像,映射和文本等元素:
<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>
>按鈕:
>使用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>
>檢測gameObjects上的單擊
要檢測到3D或2D GameObjects的單擊,請在主相機中添加APhysicsRaycaster
(對於3D)或
>對事件系統進行故障排除
如果點擊未註冊:
PhysicsRaycaster
)。 Physics2DRaycaster
以上是如何在UI元素和gameObject中檢測單擊/觸摸事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!