- Home /
Need help in creating a Pause Menu[Solved]
Hello guys this game is mainly focusing on Android platform, I have just joined yesterday and started making a game. Although I don't have any programming experience I will try my best to explain my script.
I have a Parent Object named "PauseGame" inside which there are 4 child objects with box colliders namely "PauseMenuBG,resume,exit,levellist"(which are imported images) and these are in a seperate Layer called "Interrupt" which is above default(in which game is being played) and background.
I am using the OnMouseDown function which needs a box collider for resume to work. However the box colliders are affecting the default game layer(images are not rendered but box colliders are still present).
May I know how to remove these colliders on resume button clicked ? And is there any other way to create the pause menu without box colliders?
My resume script is as follows :
#pragma strict
//perishMenu is for PauseGame parent object
var perishMenu : GameObject;
function OnMouseDown () {
//resume game
Time.timeScale = 1;
//on click don't render this parent object
var renderers = perishMenu.GetComponentsInChildren.<Renderer>();
for (var r : Renderer in renderers)
{
r.enabled = false;
}
}
Solved using my Pause Menu script (Answer :)
#pragma strict
var isPaused : boolean = false;
var gameMenu : GameObject;
var perishCollider : boolean = false;
var playCollider : GameObject;
var levelCollider : GameObject;
var exitCollider : GameObject;
function Start () {
playCollider.collider2D.enabled = perishCollider;
levelCollider.collider2D.enabled = perishCollider;
exitCollider.collider2D.enabled = perishCollider;
//At start don't show the pause menu
var renderers = gameMenu.GetComponentsInChildren.<Renderer>();
for (var r : Renderer in renderers)
{
r.enabled = false;
}
//Always start the game even when exitted using the pause menu
Time.timeScale = 1;
}
function OnMouseDown () {
//create new variable for the same gameobject
var remrenderers = gameMenu.GetComponentsInChildren.<Renderer>();
//if clicked render pause menu
if(!isPaused) {
playCollider.collider2D.enabled = !perishCollider;
levelCollider.collider2D.enabled = !perishCollider;
exitCollider.collider2D.enabled = !perishCollider;
Time.timeScale = 0;
//declare new instance of the pause menu
for (var a : Renderer in remrenderers)
{
a.enabled = true;
}
}
else {
//don't render on any click(code for safety)
for (var a : Renderer in remrenderers)
{
a.enabled = false;
}
}
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613162643im_/https://answers.unity.com/themes/thub/images/avi.jpg)