这个吧,纠结了我一段时间。 下面直接上脚本吧。
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
public class UICameraTouchController : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUpHandler
{
public CameraController _camera;// 相机
private RectTransform rectTransform;// 要是一个 全屏大小的image
private Dictionary<int, Vector2> touches = new Dictionary<int, Vector2>();
private void Awake()
{
rectTransform = this.GetComponent<RectTransform>();
}
public void OnPointerDown(PointerEventData eventData)
{
touches[eventData.pointerId] = eventData.position;
}
public void OnPointerUp(PointerEventData eventData)
{
if (_camera != null)
{
_camera.EndDrag();
}
touches.Remove(eventData.pointerId);
}
public void OnDrag(PointerEventData eventData)
{
if(to