- Home /
Changing Colour of an Object With a GUI.Button Back to Original
Hi,
I've imported a level from Sketchup, and what I want, is when a GUI.Button I've created is pressed, all objects I've specified (by declaring them as Renderer variables) to change to the color yellow. Then upon clicking the button again, back to their original color at the start.
The code I have currently changes them to yellow wonderfully, but to white, when clicked again. It happens within the DoSomething function, near the bottom of the code block. All my variables are specific objects in which I assign their mesh renderer to. I've tried, everything from using their exact (R,G,B) colors in place of white, to trying to setup an original color variable. But I can't seem to figure it out. Any help would be much appreciated.
Thanks K.
private var defaultColor: Color = Color(343,89,226,255);
var rightturret: Renderer;
var middlestringcourse: Renderer;
var leftturret: Renderer;
var leftstring: Renderer;
var rightstring: Renderer;
var leftstep: Renderer;
var rightstep: Renderer;
var douglasturret: Renderer;
var douglasturret1: Renderer;
var douglasturret2: Renderer;
var douglasturret3: Renderer;
var douglasturret4: Renderer;
var grantturret: Renderer;
var bottomstring: Renderer;
var cameraFP: Camera;
var camera2: Camera;
var mystyle: GUIStyle;
function Start() { cameraFP.enabled = true;
camera2.enabled = false;
}
function OnGUI () {
if (GUI.Button(Rect(500,0,200,100), "Zoom Extents", mystyle)) {
GoToCamera ();
}
if (GUI.Button(Rect(200,0,200,100), "Higlight Selectable", mystyle )) {
DoSomething ();
}
}
function GoToCamera () {
cameraFP.enabled = !cameraFP.enabled; camera2.enabled = !camera2.enabled; }
function DoSomething () {
if (bottomstring.material.color == Color.yellow)
bottomstring.material.color = Color.white;
else
bottomstring.material.color = Color.yellow;
if (leftstep.material.color == Color.yellow)
leftstep.material.color = Color.white;
else
leftstep.material.color == Color.yellow;
if (rightstep.material.color == Color.yellow)
rightstep.material.color = Color.white;
else
rightstep.material.color = Color.yellow;
if (douglasturret.material.color == Color.yellow)
douglasturret.material.color = Color.white;
else
douglasturret.material.color = Color.yellow;
if (douglasturret1.material.color == Color.yellow)
douglasturret1.material.color = Color.white;
else
douglasturret1.material.color = Color.yellow;
if (douglasturret2.material.color == Color.yellow)
douglasturret2.material.color = Color.white;
else
douglasturret2.material.color = Color.yellow;
if (douglasturret3.material.color == Color.yellow)
douglasturret3.material.color = Color.white;
else
douglasturret3.material.color = Color.yellow;
if (douglasturret4.material.color == Color.yellow)
douglasturret4.material.color = Color.white;
else
douglasturret4.material.color = Color.yellow;
if (leftstring.material.color == Color.yellow)
leftstring.material.color = defaultColor;
else
leftstring.material.color = Color.yellow;
if (rightstring.material.color == Color.yellow)
rightstring.material.color = Color.white;
else
rightstring.material.color = Color.yellow;
if (grantturret.material.color == Color.yellow)
grantturret.material.color = Color.white;
else
grantturret.material.color = Color.yellow;
if (rightturret.material.color == Color.yellow)
rightturret.material.color = Color.white;
else
rightturret.material.color = Color.yellow;
if (leftturret.material.color == Color.yellow)
leftturret.material.color = Color.white;
else
leftturret.material.color = Color.yellow;
if (middlestringcourse.material.color == Color.yellow)
middlestringcourse.material.color = Color.white;
else
middlestringcourse.material.color = Color.yellow;
}
Your answer
Follow this Question
Related Questions
Making GUI button change colour after click 3 Answers
Material doesn't have a color property '_Color' 4 Answers
Changing two different objects renderer colour 1 Answer
If statement breaking button color copy 0 Answers
GUI button texture different color when script is on Instantiated object 0 Answers