Menu pauzy w grze

FukurouPL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
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ć ?

Kopiuj
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;
    }

}
Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6967
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ć.

FukurouPL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.