赞
踩
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上连接两点的线段。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。