判断是否点击再UI上面

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class ModelShow : MonoBehaviour
{
    public int RotationSpeed= 1;
    Vector3 MouseBegin;
    Vector3 MouseEnd;
    bool IsRotation = true;
    bool IsUI =true;
    // Start is called before the first frame update
    void Start()
    {
       
    }

    // Update is called once per frame
    void Update()
    {
      if (Input.GetMouseButtonDown(0))
        {
            MouseBegin = Input.mousePosition;
            IsUI = EventSystem.current.IsPointerOverGameObject();      
        }
        if (Input.GetMouseButton(0)&&!IsUI)
        {
            IsRotation = false;
            MouseEnd = Input.mousePosition;
            float Distance = Vector3.Distance(MouseBegin, MouseEnd);
            if (Distance != 0)
            {
                IsRotation = false;
                transform.Rotate(new Vector3(0, (MouseBegin - MouseEnd).normalized.x * Distance*0.3f, 0));
                MouseBegin = MouseEnd;
            }            
        }       
        if (Input.GetMouseButtonUp(0))
        {
            IsRotation = true;
        }
        if (transform.childCount != 0 && IsRotation)
        {
            transform.Rotate(new Vector3(0, RotationSpeed, 0));
        }
    }
}
做的是一个物体在什么时候触发鼠标点击旋转功能

 

if (EventSystem.current.IsPointerOverGameObject() == false)

{

//没有在UI上面

}

else

{

//点击在UI上面

}

以布尔值方式返回 与UI接口不冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值