Menu pauzy w grze

0

Witam. Próbuję zrobić w Unity po naciśnięciu klawisza Escape, żeby wyświetlało się menu pauzy. Korzystam z poradników w necie. Wszystko dobrze działa jedynie w podglądzie gry w okienku "Game". Natomiast kiedy chcę odpalić używając "ctrl + b", to po naciśnięciu klawisza nie wyświetla menu, a jedynie zamraża całą grę (zauważyłem że coś tam wyświetla - kwadracik w lewym górnym rogu). Pomoże ktoś, co zrobić ?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class PauseMenu : MonoBehaviour
{
    public static bool isGamePaused = false;

    [SerializeField] GameObject pauseMenu;


    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isGamePaused)
            {
                ResumeGame();
            }
            else
            {
                PauseGame();
            }
        }
    }

    void ResumeGame()
    {
        pauseMenu.SetActive(false);
        Time.timeScale = 1f;
        isGamePaused = false;
    }

    void PauseGame()
    {
        pauseMenu.SetActive(true);
        Time.timeScale = 0f;
        isGamePaused = true;
    }

}
3
FukurouPL napisał(a):

Natomiast kiedy chcę odpalić używając "ctrl + b", to po naciśnięciu klawisza nie wyświetla menu, a jedynie zamraża całą grę.

W Twoim kodzie tylko escape jest podpięty pod menu pauzy...

Nie używałem w Unity skrótu Ctrl + B.
Domyślam się, że on zatrzymuje Play Mode w edytorze.
I tak w takim przypadku (gdy gra jest zatrzymana w ten sposób), nawet gdy pokażesz menu pauzy, to nie będzie ono responsywne...
Zatrzymanie play mode zatrzymuje aplikację całkowicie.

Poza tym...
Mam nadzieję, że GameObject pauseMenu to nie jest obiekt, do którego podpiąłeś komponent PauseMenu.
Bo jak zrobisz mu pauseMenu.SetActive(false), to Update() przestanie działać.

0

Dzięki Wielkie za odpowiedź. Okazało się, że musiałem ustawić "Scale With Screen Size" na full hd. A skrót "ctrl + b" odpala gre na pełny ekran.

1 użytkowników online, w tym zalogowanych: 0, gości: 1