- 简单思路就是,每个圆形在前一个扇形的基础上,进行一个旋转,然后设置自己的fillCount
float allWeight = 0;
var angle = 360f / element.Count;
float angle = 0;
int index = 0;
foreach (var item in element)
{
var obj = GameObject.Instantiate<Image>(ImagePrefab, HandPoint);
obj.gameObject.SetActive(true);
obj.transform.localEulerAngles = new Vector3(0, 0, -angle);
obj.fillAmount = (float)item.Weight / allWeight;
angle += obj.fillAmount * 360f;
obj.color = index % 2 == 0 ? Color.yellow : Color.green;
index++;
}