鼠标拖动物体
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class Test : MonoBehaviour{
Vector3 screenSpace;
Vector3 offset;
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnMouseDown()
{
screenSpace = Camera.main.WorldToScreenPoint(transform.position);
offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3( Input.mousePosition.x, Input.mousePosition.y, screenSpace.z));
}
private void OnMouseDrag()
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z));
transform.position = mousePos + offset;
}
}
拖动UI
public void OnDrag(PointerEventData eventData)
{
RectTransform rect = GetComponent<RectTransform>();
Vector3 pos=Vector3.zero;
RectTransformUtility.ScreenPointToWorldPointInRectangle(rect, eventData.position, eventData.enterEventCamera,out pos);
rect.position = pos;
}
如果此博客对你有用帮忙点个赞,如果有错误请指正。谢谢!