好的,所以我尝试过使用花车和琴弦,但它们似乎不起作用。控制台刚刚抛出无法将类型bleh转换为类型bleh。我已经看了这个,人们建议使用PlayerPrefs.SetColor
,但似乎团结已经摆脱了这一点。我现在不确定我是怎么想保存一种颜色的。我确实在统一网站上找到了这个,但我不确定如何实现它。
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");
答案 0 :(得分:1)
我建议您使用ArrayPrefs2,这样您就可以使用PlayerPrefsX.SetColor()
和PlayerPrefsX.GetColor()
或将其作为参考,以便针对您的需求做一些具体的事情。
已编辑:更具体地说,您需要将提供的PlayerPrefsX类的内容复制到脚本中的某个PlayerPrefsX类中(有c#和unity脚本版本)。或者只是根据需要使用该代码创建另一个帮助程序。
答案 1 :(得分:0)
您可以使用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;
}
请务必在解析前添加#