猿问

如何检测UI和GameObjects上的点击/触摸事件

如何检测UI和GameObjects上的点击/触摸事件

如何在Android上的Canvas on Touch上检测UI对象?

例如,我有具有5个对象,诸如帆布ImageRawImageButtonsInputField等。

当我触摸按钮UI对象然后做一些事情。单击依赖时,每个按钮执行不同的过程。

代码如下所示:

private void Update(){
    if (Input.touches.Length <= 0) return;

    for (int i = 0; i < Input.touchCount; i++)
    {
        if (Button1.touch)
            if (Input.GetTouch(i).phase == TouchPhase.Began)
                login();
        else if (Button2.touch && Input.GetTouch(i).phase == TouchPhase.Began)
            LogOut();
    }}

那怎么办呢?

第二:如何检测Gameobject获取触摸?是否与上述相同?


慕仙森
浏览 1004回答 3
3回答

千巷猫影

你也可以使用OnMouseDown。当用户在GUIElement或Collider上按下鼠标按钮时,将调用OnMouseDown。此事件将发送到Collider或GUIElement的所有脚本。using UnityEngine;using System.Collections;using UnityEngine.SceneManagement; // The new load level needs thispublic class ExampleClass : MonoBehaviour{&nbsp; &nbsp; void OnMouseDown()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // Edit:&nbsp; &nbsp; &nbsp; &nbsp; // Application.LoadLevel("SomeLevel");&nbsp; &nbsp; &nbsp; &nbsp; // Application.LoadLevel() is depreciating but still works&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SceneManager.LoadScene("SomeLevel"); // The new way to load levels&nbsp; &nbsp; }}
随时随地看视频慕课网APP
我要回答