//使用unity官方提供的API EventSystem.IsPointerOverGameObject
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class MouseExample : MonoBehaviour
{
void Update()
{
// Check if the left mouse button was clicked
if (Input.GetMouseButtonDown(0))
{
// Check if the mouse was clicked over a UI element
//判断是否点击到了UI,如果点击到ui摄像机不做出动作,如果没有点击到ui,执行摄像机旋转的方法
if (EventSystem.current.IsPointerOverGameObject())
{
Debug.Log("点击了UI");
//控制台打印出点击了ui摄像机没有任何行为
}
else
{
//该处放置滑动摄像机转动的方法
//例如:
if (Input.GetMouseButton(2))
{
_mouseX = Input.GetAxis("Mouse X");
_mouseY = Input.GetAxis("Mouse Y");
Vector3 moveDir = (_mouseX * - transform.right + _mouseY * -
transform.forward);
moveDir.y = 0;
transform.position += moveDir * 0.5f * moveSpeed;
}
//仅供参考,if语句中的内容需结合自己的情况做更改。
}
}
}
}
Unity 解决关于滑动UI时摄像机也会跟着滑动的问题
最新推荐文章于 2024-07-29 21:53:30 发布