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

猜你喜欢

转载自blog.csdn.net/Pandora12138/article/details/81701075
今日推荐