我正在尝试根据用户选择的内容保存对象的颜色,并在按键时将它们加载回屏幕。在答案的帮助下,我设法找到了一种使用 PlayerPrefs 保存颜色 RGB 值的方法,但是,我不确定如何将“colorObject”设置为对象的当前颜色。我见过使用 new Color() 和预定义颜色集的解决方案,但我想保存用户选择的内容。有没有办法将“colorObject”设置为对象的当前颜色?
/* Changing the color via key presses
*
*/
if (Input.GetKeyDown(KeyCode.R))
{
rend.material.SetColor("_Color", Color.red);
}
if (Input.GetKeyDown(KeyCode.G))
{
rend.material.SetColor("_Color", Color.green);
}
if (Input.GetKeyDown(KeyCode.B))
{
rend.material.SetColor("_Color", Color.blue);
}
}
// To add button elements to the visual interface
void OnGUI()
{
// Saving
if (GUI.Button(new Rect(700, 330, 50, 30), "Save"))
{
// Saving the object's color
Color colorOfObject = new Color();
PlayerPrefs.SetFloat("rValue", colorOfObject.r);
PlayerPrefs.SetFloat("gValue", colorOfObject.g);
PlayerPrefs.SetFloat("bValue", colorOfObject.b);
}
// Loading
if (GUI.Button(new Rect(770, 330, 50, 30), "Load"))
{
Color colorOfObject = new Color(PlayerPrefs.GetFloat("rValue", 1F), PlayerPrefs.GetFloat("gValue", 1F), PlayerPrefs.GetFloat("bValue", 1F));
}
斯蒂芬大帝
慕慕森
相关分类