C# 同时更改列表中游戏对象的颜色
所以我有一个充满游戏对象的列表。我想同时改变它们的颜色。我现在的做法是使用2个for循环逐个更改每个游戏对象的颜色,但我需要同时更新它。这是我的密码C# 同时更改列表中游戏对象的颜色,c#,list,unity3d,colors,C#,List,Unity3d,Colors,所以我有一个充满游戏对象的列表。我想同时改变它们的颜色。我现在的做法是使用2个for循环逐个更改每个游戏对象的颜色,但我需要同时更新它。这是我的密码 yield return new WaitForSeconds(2.3f); var places = GameObject.FindGameObjectsWithTag("ground"); for (int i = 0; i <= GOlist.Count; i+
yield return new WaitForSeconds(2.3f);
var places = GameObject.FindGameObjectsWithTag("ground");
for (int i = 0; i <= GOlist.Count; i++)
{
renderer = GOlist[i].GetComponent<SpriteRenderer>();
Color c = renderer.material.color;
for (float s = 0.28f; s <= 1f; s += 0.02f)
{
c.r = s;
c.g = s;
c.b = s;
renderer.color = c;
yield return new WaitForSeconds(0.01f);
}
}
产生返回新的WaitForSeconds(2.3f);
var places=GameObject.FindGameObjectsWithTag(“地面”);
for(int i=0;i只需将for循环交换为四舍五入即可
var places = GameObject.FindGameObjectsWithTag("ground");
for (float s = 0.28f; s <= 1f; s += 0.02f)
{
for (int i = 0; i <= GOlist.Count; i++)
{
renderer = GOlist[i].GetComponent<SpriteRenderer>();
Color c = renderer.material.color;
c.r = s;
c.g = s;
c.b = s;
renderer.color = c;
}
yield return new WaitForSeconds(0.01f);
}
var places=GameObject.FindGameObjectsWithTag(“地面”);
对于(float s=0.28f;s),不要告诉它在循环中等待,因为它将在每个循环之间等待