如何保存颜色
本文关键字:颜色 保存 何保存 | 更新日期: 2023-09-27 18:04:49
好的,所以我试过使用浮点数和字符串,但它们似乎不起作用。控制台刚刚抛出不能将类型bleh转换为类型bleh。我查过这个,人们建议使用PlayerPrefs.SetColor
,但似乎unity已经摆脱了它。我都不知道该怎么保存颜色了。我确实在unity网站上找到了这个,但是我不确定如何实现它。
Renderer rend = GetComponent<Renderer>();
rend.material.shader = Shader.Find("Specular");
rend.material.SetColor("_SpecColor", Color.red); Any help here?
帮忙吗?
好的,这就是我所尝试的:
PlayerPrefs.SetString("myColor1", Title.myColor1);
PlayerPrefs.SetString("myColor2", Title.myColor2);
和在另一个脚本上:
myColor1 = PlayerPrefs.GetString("myColor1");
myColor2 = PlayerPrefs.GetString("myColor2");
我建议你使用ArrayPrefs2,这样你就可以只使用PlayerPrefsX.SetColor()
和PlayerPrefsX.GetColor()
,或者把它作为参考来做一些具体的你的需要。
edited:更具体地说,你需要将这个PlayerPrefsX类的内容复制到脚本中的某个地方的PlayerPrefsX类中(有c#和unity脚本版本)。或者在您希望创建另一个帮助器时使用该代码。
您可以使用Unity ColorUtility将颜色序列化为字符串
const string Key = "my_stored_color";
public void SetColor(Color color)
{
PlayerPrefs.SetString(Key, ColorUtility.ToHtmlStringRGBA(color));
}
public Color GetColor()
{
var storedColorAsString = "#" + PlayerPrefs.GetString(key);
Color result;
ColorUtility.TryParseHtmlString(storedColorAsString, out result);
return result;
}
确保在解析