ShanxiKnowledgeBase/SXKnowledgeBase-master/sxknowledgebase/Assets/Scripts/UI/SlidingArea.cs

54 lines
1.4 KiB
C#

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()
{
}
}