Unity UGUI 繪製連接兩點的線

1、先弄個Image (以下命名爲Line),設置爲如下格式:

其高度就是連線的長度,Pivot的Y值設置爲0是爲了方便後面旋轉的時候能繞起點旋轉。

 

2、以上述的Image的原點爲起點,以目標位置爲終點。

那麼線段的長度很容易計算,直接調用 Vector3.Distance 就可以了。

Vector3 targetPos = mTarget.localPosition;
Vector3 curPos = transform.localPosition;
Line.rectTransform.sizeDelta = new Vector2(8, Vector3.Distance(targetPos, curPos));

 

3、設置Image的旋轉,使其指向終點:

//設置角度;
double angle = Math.Atan2(targetPos.y - curPos.y, targetPos.x - curPos.x) * 180 / Math.PI;
Line.transform.rotation = Quaternion.Euler(0, 0, (float)angle + 270);

這樣就完成了在UGUI上連接兩點的線段。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章