- Home /
Problem with IF with 2 outputs.
Sorry if the title didn't make much sense, but I'm finding it hard to even word what I want to be able to find a solution. It's obviously something incredibly easy and basic but I can't for the life of me find an answer. I've got a simple java script that checks if the mouse button is held down, if it is then the camera freezes. I'm now trying to consolidate my separate script that also unhides the hidden mouse cursor, but I can't get this to work!
function Update () {
if (Input.GetMouseButton(1))
GetComponent(MouseLook).enabled = false;
Screen.showCursor = true;
else
GetComponent(MouseLook).enabled = true;
Screen.showCursor = false;
}
After reading a few IF and ELSE tutorials a lot of them show the IF and the ELSE with it's own { }, but if I remove the showCursor lines altogether the code works fine as shown. Can someone set me straight?
Answer by smc · Mar 03, 2013 at 04:05 PM
Correct -- the if statement requires braces if there is more than one statement:
if (Input.GetMouseButton(1))
{
GetComponent(MouseLook).enabled = false;
Screen.showCursor = true;
}
else
{
GetComponent(MouseLook).enabled = true;
Screen.showCursor = false;
}
"if there is more than one statement"
Flipping it around, nearly all languages have a special rule that if you leave out the curly-braces, the next statement counts as the thing in curly-braces. So if(a) b; c;
counts as if(a) {b;} c;
Works for ifs and loops.
No one makes a big deal about it, since most people learn it very early and use it all the time.
Your answer
Follow this Question
Related Questions
problem with instance 1 Answer
Else and If 2 Answers
How stop a piece of code from running if the conditions are no more met. 1 Answer
Why am i getting this error?! 2 Answers
How to finish my else if statement? 2 Answers