using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class Rocker : MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler
{
public Image bg;
public Image kuai;
Vector3 startpos = new Vector3();
Vector3 eular = new Vector3();
public static GameObject player;
bool isrun = false;
float speed = 0;
void Start()
{
startpos = kuai.transform.position;
//GetPlayer("player_1");
}
public static void GetPlayer(string name)
{
player = GameObject.Find(name);
}
// Update is called once per frame
void Update()
{
if (isrun)
{
player.transform.Translate(Vector3.forward * Time.deltaTime * speed / 10);
}
}
public void OnBeginDrag(PointerEventData eventData)
{
eular = player.transform.eulerAngles;
isrun = true;
}
public void OnDrag(PointerEventData eventData)
{
if (Vector3.Distance(Input.mousePosition, startpos) > 50)
{
kuai.transform.position = startpos + (Input.mousePosition - startpos).normalized * 50;
}
else
{
kuai.transform.position = Input.mousePosition;
}
float x1 = kuai.transform.position.x - startpos.x;
float y1 = kuai.transform.position.y - startpos.y;
float ang = Mathf.Atan(x1 / y1) * Mathf.Rad2Deg;
speed = Vector3.Distance(kuai.transform.position, startpos);
if (y1 < 0)
{
ang += 180;
}
else if (x1 < 0)
{
ang += 360;
}
player.transform.eulerAngles = (Camera.main.transform.eulerAngles.y + ang) * Vector3.up;
}
public void OnEndDrag(PointerEventData eventData)
{
kuai.transform.position = startpos;
isrun = false;
}
}