2020-05-14 Unity 一直圆心 半径 角度 求圆上的
2020-05-14 本文已影响0人
VECTOR_Y
做圆形的进度条,上面有个光标,需要刷新光标位置,记录一下实现方式
圆心坐标:(x0,y0)
半径:r
角度:a
圆周率: PI
则圆上任一点为:(x1,y1)
x1 = x0 + r * cos(a * PI /180 )
y1 = y0 + r * sin(a * PI /180 )
//进度 count当前数量 total总量
float pro = (float)count / (float)total;
//半径 圆形进度条的半径 减去光标的半径
float r = img_pro.GetComponent<RectTransform>().sizeDelta.x / 2 - 5;
//求角度 顺时针由上往下,这个需要根据实际需求修改
float a = -(360 * pro - 90);
//
float x1 = x0 + r * Mathf.Cos(a * Mathf.PI / 180);
float y1 =y0 + r * Mathf.Sin(a * Mathf.PI / 180);
trs_point.localPosition = new Vector2(x1, y1);
image.png