我有一个用于小型模拟的Settingsscript。
摄像机的BackgroundColor为黑色。当我有一个带有标签的GUI.HorizontalSlider时,我需要改变滑块的颜色。否则你就看不清楚了。
有人能告诉我在哪里以及如何设置这些颜色吗?"ContentColor“、"BackgroundColor”不工作..
我的代码:
private int planetObjectsCount = 1; // number of objects in the next scene
private int skyObjectsCount = 1; // number of objects in the next scene
private int spaceObjectsCount = 1; // number of objects in the next scene
private void OnGUI()
{
GUI.color = SetGUIColor(); // Give GUI Elements a default Color
planetObjectsCount = Mathf.RoundToInt(GUI.HorizontalSlider(GetGuiRect(Screen.width / 2, Screen.height * 2 / 8), planetObjectsCount, 1, 300)); // The Slider Element - store the value
skyObjectsCount = Mathf.RoundToInt(GUI.HorizontalSlider(GetGuiRect(Screen.width / 2, Screen.height * 4 / 8), skyObjectsCount, 1, 100)); // The Slider Element - store the value
spaceObjectsCount = Mathf.RoundToInt(GUI.HorizontalSlider(GetGuiRect(Screen.width / 2, Screen.height * 6 / 8), spaceObjectsCount, 1, 100)); // The Slider Element - store the value
GUI.Label(GetGuiRect(Screen.width / 2, Screen.height * 3 / 8), "Objects on the Planet: " + planetObjectsCount.ToString()); // The Label for the Slider
GUI.Label(GetGuiRect(Screen.width / 2, Screen.height * 5 / 8), "Objects in the Sky: " + skyObjectsCount.ToString()); // The Label for the Slider
GUI.Label(GetGuiRect(Screen.width / 2, Screen.height * 7 / 8), "Objects in Space: " + spaceObjectsCount.ToString()); // The Label for the Slider
if (GUI.Button(GetGuiRect(Screen.width * 0.85f, Screen.height / 2), "Build")) // Menu Button
{
PlayerPrefs.SetInt("planetObjectsCount", planetObjectsCount); // Store the values to the PlayerPrefs
PlayerPrefs.SetInt("skyObjectsCount", skyObjectsCount); // Store the values to the PlayerPrefs
PlayerPrefs.SetInt("spaceObjectsCount", spaceObjectsCount); // Store the values to the PlayerPrefs
LoadScene("Ingame"); // Load the simulation
}
if (GUI.Button(GetGuiRect(Screen.width * 0.15f, Screen.height / 2), "Back")) // Menu Button
{
LoadScene("MainMenu"); // Back to MainMenu
}
}
internal Rect GetGuiRect(float xPos, float yPos) // Return a Rectangle for GUI Elements
{
float rectWidth = Screen.width / 5;
float rectHeight = Screen.height / 10;
xPos -= rectWidth / 2;
yPos -= rectHeight / 2;
return new Rect(xPos, yPos, rectWidth, rectHeight);
}
internal Color SetGUIColor() // Set the GUI Color
{
return Color.cyan;
}发布于 2016-12-02 00:47:55
https://stackoverflow.com/questions/40913908
复制相似问题