unity 有点击屏幕进行移动操作,通过input.getmousebuttondown(0)。如果点击到了一些ui上面会触发点击屏幕事件。

引入unityengine.eventsystems,用函数判断一下即可

using system.collections;
using system.collections.generic;
using unityengine;
using dg.tweening;
using unityengine.eventsystems;
public class playercontroller : monobehaviour
{
    private void update()
    {
        if (eventsystem.current.ispointerovergameobject()) return;
        if (input.getmousebuttondown(0))
        {
            debug.log("点击屏幕");
        }
    }
}

这个方法会将点击text的时候也会当作点击ui

将raycast target 取消勾选可以避免。

补充:unity点击ui跟场景不冲突

unity点击ui跟场景不冲突的方法

在射线检测后加!eventsystem.current.ispointerovergameobject()即可

需要引入命名空间using unityengine.eventsystems;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。如有错误或未考虑完全的地方,望不吝赐教。