这里就是我参考:http://libufan.sinaapp.com/?p=234 这个人写的拖拽完成的自己的一个plane贴图的拖拽!
using UnityEngine;
using System.Collections;
using System.IO;
public class pl_ptwDrag : MonoBehaviour {
Vector3 curScreenSpace;
Vector3 curPosition;
// Use this for initialization
void Start () {
renderer.material.mainTexture = Button_queding.texturew;
GameObject parent = GameObject.Find("Sprite_adddelete");
transform.parent = parent.transform;
transform.localPosition = new Vector3(0f, 0f, -0.001f);
transform.localRotation = Quaternion.identity;
transform.localScale = new Vector3(0.02f, 0.01f, 0.027f);
transform.Rotate(90f, 180f, 0f, Space.World); //旋转角度
renderer.material.mainTexture = Button_queding.texturew;
}
// Update is called once per frame
void Update () {
}
Vector3 curobjPos, curmousePos, mousePosfirst, objPosfirst, differencePos;
IEnumerator OnMouseDown()
{
/*三维物体坐标转屏幕坐标*/
curScreenSpace = UICamera.mainCamera.WorldToScreenPoint(transform.position);
/*将鼠标屏幕坐标转为三维坐标,再算出物体位置与鼠标之间的距离*/
curPosition = transform.position - UICamera.mainCamera.ScreenToWorldPoint(new Vector3
(Input.mousePosition.x, Input.mousePosition.y, curScreenSpace.z));
//print("undown");
while (Input.GetMouseButton(0)) //单击鼠标左键
{
curScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, curScreenSpace.z);
transform.position = UICamera.mainCamera.ScreenToWorldPoint(curScreenSpace) + curPosition;
yield return 0; //这个很重要,循环执行
}
}
}