- Home /
Main menu not showing up
I have writen a script to make a main menu for my little game, but the accual menu part of the script does not show the GUI when it is exicuted. I have run through it a few times now and I cannot find what is causing the problem. Anyone have any ideas as to what is going on?
using UnityEngine;
using System.Collections;
public class MenuSystem : MonoBehaviour {
public string[] options = new string[] {"Resume"};
private bool showMenu = false;
void OnGUI()
{
if (GUI.Button (new Rect(2,2,Screen.width * 0.08f,Screen.height * 0.05f),"Pause"))
{
showMenu = true;
}
if (showMenu == true)
{
MainMenu(options);
Time.timeScale = 0;
}
}
void MainMenu(string[] menuButtons)
{
GUI.Box(new Rect(Screen.width * 0.4f, Screen.height * 0.3f,Screen.width * 0.2f, Screen.height * 0.4f), "Menu");
int menuGrid = 0;
menuGrid = GUI.SelectionGrid(new Rect(Screen.width * 0.42f, Screen.height * 0.35f, Screen.width * 0.16f, Screen.height * 0.3f), menuGrid, menuButtons, 1);
switch (menuGrid)
{
case 0:
showMenu = false;
break;
case 1:
break;
default:
print("Something went wrong...");
break;
}
}
}
Answer by robertbu · Mar 18, 2014 at 02:04 PM
The problem is the initialization of menuGrid on line 28. You are setting it to 0, so that is the default value that GUI.SelectionGrid() will return if nothing is selected. The 'case 0' of your Switch statement turns 'showMenu' to false, so your menu does not display. To fix line 28 to:
int menuGrid = -1;
Your answer
Follow this Question
Related Questions
GUI follow gameobject 2 Answers
How to fix error BCE0005: Unknown identifier 1 Answer
Game stays paused after Restart. 1 Answer
Pause menu 1 Answer
how can i prevent pause menu? 0 Answers