2
我試圖在Unity中製作可拖動的gameobjects,現在我已經擁有了它,所以它遵循鼠標。用鼠標拖動對象並將其對齊
這不完全是我所需要的,我希望它在鼠標方向上移動0.375f,而不是完全放在鼠標所在的位置。
我真的不能想象它將如何工作 - 任何幫助將不勝感激! 這是我到目前爲止:
void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(transform.parent.position);
offset = transform.parent.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}
void OnMouseDrag()
{
Vector3 curScreenPt = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPos = Camera.main.ScreenToWorldPoint(curScreenPt) + offset;
transform.parent.position = new Vector3(curPos.x, curPos.y);
}
重要提示:它現在非常容易在Unity中實現拖放和類似的概念。這裏:http://stackoverflow.com/a/37473953/294884 – Fattie
是的,但afaik它的用戶界面 - 只,我正在對遊戲對象,所以它不會真的工作 – Fiffe