我正在制作2D Unity角色自定义屏幕。我希望玩家能够更改角色的发色,并且我希望颜色选项几乎是无限的。我相信执行此操作的最干净方法是创建一个可容纳色轮的滑块。我该怎么办?
我曾经尝试过谷歌搜索和观看视频,但是我仍然迷路。
我的预期结果是头发的颜色根据滑块的位置而改变。
答案 0 :(得分:0)
好的,因此计算机内部的颜色通常是RGB值。 (红绿蓝) 为了改变游戏内部的颜色,我通常会看到3个滑块,每个值一个。 每个滑块将是0-255之间的值。您可以将该值设置为头发中红色,绿色或蓝色的数量。
要更改代码中的颜色,它将看起来像这样。我很肯定有更好的方法可以做到这一点,但是我认为这在观看了一段简短的Brakeys视频后应该可以解决。
https://www.youtube.com/watch?v=HQ8Tttcksu4
public float red;
public float green;
public float blue;
public float maxColor = 255;
public Color hairColor;
然后,当滑块更改时,使用功能更新头发的颜色。
public void UpdateRed(float newRed)
{
red = newRed;
UpdateHairColor();
}
public void UpdateGreen(float newGreen)
{
green = newGreen;
UpdateHairColor();
}
public void UpdateBlue(float newBlue)
{
blue = newBlue;
UpdateHairColor();
}
public void UpdateHairColor()
{
hairColor = new Color(red/maxColor, green/maxColor, blue/maxColor);
}