- Home /
 
how do i Disable and Enable buttons?
Hello everyone!
4 days ago i started working with unity. I am developing a android app for it. i have heard that using multiple scenes isn't really effective for android games so i am looking for a way around it. So right now i have a main menu. with theme music and 2 buttons. 1 for options one for play. i made it so that the play button loads my game scene wich works. however i want it so that when i press the options button it clears the current gui and shows the list of options. what is the best way to do this?
Thanks in advance!
at the moment i have this script running on my camera
 using UnityEngine;
 using System.Collections;
 
 public class GuiMainMenu : MonoBehaviour {
     void Start() {
         audio.Play ();
     }
     void OnGUI () {
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 - -50, 200, 50), "Play")) {
             Application.LoadLevel ("Game");
         }
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 - 10, 200, 50), "Settings")) {
 
         }
 
     }
 }
 
              maybe this could help you?
http://answers.unity3d.com/questions/268517/how-to-remove-a-gui-element-when-button-is-pressed.html
Thanks to all of you everyone's answer worked however Santosh Patil's suited me the most! thanks! i am starting to like this community alot!
Answer by Santosh Patil · Jan 08, 2014 at 11:24 AM
bool b_settinng = false; bool b_mainMenu = true;
 void OnGUI()
 {
     if(b_mainMenu)
     {
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 -50, 200, 50),"Play"))
         {
             Application.LoadLevel ("Game");
         }
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2+ 50, 200, 50),"Settings"))
         {
             b_settinng = true;
             b_mainMenu = false;
         }
     }
     if(b_settinng)
     {
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 -50, 200, 50),"SoundOnOff"))
         {
             
         }
         
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 +50, 200, 50),"MusicOnOff"))
         {
             
         }
         
         if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 +150, 200, 50),"Main Menu"))
         {
             b_settinng = false;
             b_mainMenu = true;
         }
     }
 
              Answer by thornekey · Jan 08, 2014 at 11:00 AM
 using UnityEngine;
 using System.Collections;
  
 public class GuiMainMenu : MonoBehaviour {
 public bool button1 = true;
 public bool button2 = true;
     void Start() {
        audio.Play ();
     }
     void OnGUI () {
        if (button1) {
        if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 - -50, 200, 50), "Play")) {
          Application.LoadLevel ("Game");
          button1 = false;
         button2 = false;
        }
 }
        if (button2)
        if(GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 - 10, 200, 50), "Settings")) {
         //goto settings tab/box/scene
         button1 = false;
         button2 = false;
  
        }
  }
     }
 }
 
               assuming thats what u mean?
then if u have a back button when, say the settings is opened, u could reset it to equal true..
Your answer
 
             Follow this Question
Related Questions
Animator.Update High CPU Usage on Unity 5 resulting in bugs on Android 0 Answers
how to make the sprite and the background color in a tile disappear? 0 Answers
UI Prefab not instantiating on build for Android. 1 Answer
compiler errors when building for android 2 Answers
Connecting an object to 2 others 1 Answer