- 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