- Home /
Does anyone know how to fix this if statment?
Basically, I am Making a brick breaker game and need the ball to break brick2 only if the ball has already broken brick 3. Once the ball has broken Brick 3 the texture turns blue. I have it so that if Texture == blue then do everything in this block. but for some reason when I run the program, that block never seems to execute. I have no Compilation errors. I think its a logic problem. Does anyone know a soloution to my problem? The program does not seem to understand if(Texture==blue) although it compiles it fine
  var blue : Texture;
  
  function OnCollisionEnter(col : Collision){
  if(col.collider.name == "Brick3"){
  Destroy(col.gameObject);
  score += 10;
  guiScore.text= "Score: " + score;
  renderer.material.mainTexture = blue;
  }
  if(col.collider.name == "Brick2" && Texture == blue){
  Destroy(col.gameObject);
  score += 10;
  guiScore.text= "Score: " + score;
  print("collided with brick");
}
}
Answer by mediamavrick · Mar 04, 2014 at 07:25 AM
I solved the problem. All I did was create a Boolean variable and set it to false, then if my first if statement equaled "brick 3" , I set the boolean variable to true inside the block. then in the if statement I couldn't get to work; I set the statement to if the variable was true then do the rest of the statement. If that makes any sense to any one. lol
Answer by danielskovli · Mar 04, 2014 at 05:32 AM
Your statement Texture == blue refers to the Texture class, not an object. You probably need to address that a bit better (for instance: renderer.material.mainTexture).
The rest looks like it should work :)
hmm. that didn't seem to solve my problem. thanks though.
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                