06 listopada 2024

Jak zatrzymać gracza w godot, ale nie grę?

Tym razem krótki poradnik :)
Zdarza się iż gracz powinien czekać na działania NPC lub po prostu stać w miejscu do momentu np.: zakończenia rozmowy z NPC, odpalenia menu czy zwyczajnej pauzy. 
Stąd pojawia się powód do odebrania możliwość ruchu i zamiast skazywać się na mozolne blokowanie  klawiatury i myszy można to zrobić poprzez wywołanie trzech prostych funkcji wbudowanych w godot dostępnych dla wszystkich obiektów rozszerzających klasę Node

Poniżej przykład jak zablokować gracza

    public void Disable()
    {
        SetPhysicsProcess(false);
        SetProcess(false);
        SetProcessInput(false);
    }

Oczywiście aby go odblokować robimy to samo tylko na odwrót :)

    public void Enable()
    {
        SetPhysicsProcess(true);
        SetProcess(true);
        SetProcessInput(true);
    }

Po wywołaniu metod gra działa samodzielnie - nie wyłącza się muzyka, NPC mogą spokojnie dalej łazić po planszy (o ile to zaprogramowaliśmy), ale za to gracz nie ruszy się z miejsca.

Brak komentarzy:

Prześlij komentarz

Tu możesz wstawić swój komentarz