我有3种颜色(红色,绿色,黄色),我想从这3种颜色中随机分配颜色到我的球每次当我的游戏开始或重新启动后gameOver。谢谢你,谢谢
p1tboqfb1#
定义列表中的颜色并在检查器中选择它们。
public List<Color> Colors = new List<Color>(); private void ChangeColor() { GetComponent<MeshRenderer>().material.color = Colors[Random.Range(0, Colors.Count)]; }
字符串
t1qtbnec2#
创建一个包含颜色的列表或数组,然后在Start方法(如果手动重新启动,则使用自定义方法)中相应地对该数组使用random.range()。如果每个颜色都应该保证唯一,请使用单例模式来保留该颜色列表的公共示例,并在每次使用时删除已使用的颜色。
puruo6ea3#
顺便说一下,如果你想在Unity中创建随机颜色,并且不希望这些颜色暗淡或接近灰度,你可以使用这样的代码:
Color resultColor = Color.HSVToRGB(UnityEngine.Random.Range(0f, 1f), 1f, 1f); MR.material.color = resultColor;
字符串这很容易,因为通过在HSV中更改色调可以更容易地捕获鲜艳的颜色。
3条答案
按热度按时间p1tboqfb1#
定义列表中的颜色并在检查器中选择它们。
字符串
t1qtbnec2#
创建一个包含颜色的列表或数组,然后在Start方法(如果手动重新启动,则使用自定义方法)中相应地对该数组使用random.range()。如果每个颜色都应该保证唯一,请使用单例模式来保留该颜色列表的公共示例,并在每次使用时删除已使用的颜色。
puruo6ea3#
顺便说一下,如果你想在Unity中创建随机颜色,并且不希望这些颜色暗淡或接近灰度,你可以使用这样的代码:
字符串
这很容易,因为通过在HSV中更改色调可以更容易地捕获鲜艳的颜色。