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上連接兩點的線段。