using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class SlidingArea : MonoBehaviour, IPointerDownHandler, IPointerMoveHandler, IPointerUpHandler, IPointerExitHandler { public GameObject tar; public float times = 0.5f; bool down; public void OnPointerDown(PointerEventData eventData) { down = true; } public void OnPointerExit(PointerEventData eventData) { down = false; } public void OnPointerMove(PointerEventData eventData) { if (down) { var d = eventData.delta; //tar.transform.localEulerAngles += new Vector3(d.x, 0, d.y); //tar.transform.localEulerAngles += new Vector3(d.x, d.y, 0); //tar.transform.localEulerAngles += new Vector3(d.y, 0, d.x); //tar.transform.rotation = Quaternion.Euler(tar.transform.eulerAngles + new Vector3(d.y, -d.x, 0) * times); tar.transform.rotation *= Quaternion.Euler(new Vector3(-d.y, 0, -d.x) * times); //Quaternion quaternion = Quaternion.Euler() } } public void OnPointerUp(PointerEventData eventData) { down = false; } // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } }