鼠标针对物体的绝对拖动,点击物体移动~

using UnityEngine;
using System.Collections;


public class Move : MonoBehaviour
{
public static Move Instance;
public bool IsOk = true;
Vector3 screenPosition;
Vector3 position;
// Use this for initialization
void Start()
{
Instance = this;
}


// Update is called once per frame
void Update()
{


}
void OnMouseDown()
{
screenPosition = Camera.main.WorldToScreenPoint(transform.position);
position = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,
Input.mousePosition.y, screenPosition.z));
StartCoroutine(WaitForTime());
}
IEnumerator WaitForTime()
{
if (IsOk)
{
while (Input.GetMouseButton(0))
{
print("*********");
Vector3 tempPositon = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z));
this.transform.position = tempPositon + position;
yield return new WaitForSeconds(0.01f);
}
}
else
{
print(54645);
}


}
}


猜你喜欢

转载自blog.csdn.net/qq_34678199/article/details/52160377