1. 程式人生 > >Unity 實用教程之 移動端PC端區分點選在UI非UI

Unity 實用教程之 移動端PC端區分點選在UI非UI

Unity 實用教程之 移動端PC端區分點選在UI非UI。本節介紹,在Unity開發中,滑鼠點選的時UI還是不是UI,而且還區分移動端和電腦端情況,具體如下圖

Unity 實用教程之 移動端PC端區分點選在UI非UI

工具/原料

  • Unity

方法/步驟

  1. 1

    在Unity引擎上新建一個空工程,具體如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

  2. 2

    在場景中新增一個 Image 和 Text,佈局效果如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

    Unity 實用教程之 移動端PC端區分點選在UI非UI

  3. 3

    在工程中新建一個指令碼 UIEventSysytem,雙擊開啟指令碼進行編輯,具體如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

  4. 4

    UIEventSysytem 指令碼的具體程式碼和程式碼說明如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

  5. 5

    UIEventSysytem 指令碼的具體內容如下:

    using UnityEngine;

    using UnityEngine.UI;

    using UnityEngine.EventSystems;

     

    public class UIEventSystem : MonoBehaviour {

     

        public Text text;

     

    // Update is called once per frame

    void Update () {

     

            //關鍵是要區分移動端和電腦端

            //因為移動端和電腦端判斷的條件不同

     

            if (Input.GetMouseButtonDown(0)) {

     

    #if UNITY_ANDROID || UNITY_IPHONE

    //移動端判斷如下

    if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))

    #else

                //PC端判斷如下

                if (EventSystem.current.IsPointerOverGameObject())

    #endif

                {

                    text.text = "點選在UI上";

                }

                else {

                    text.text = "點選不在UI上";

                }

     

            }

        }

    }

  6. 6

    指令碼編譯正確,回到Unity,新建一個  GameObject,指令碼掛載上去,把場景中的 Text賦給指令碼,具體如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

  7. 7

    執行場景,點選 UI和不在UI上效果具體如下圖,你也可以打包到 移動端測試,效果如下圖

    Unity 實用教程之 移動端PC端區分點選在UI非UI

    END