Advertisement
Zunesha

Como fazer um sistema de pause

Oct 31st, 2023 (edited)
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Como fazer um sistema de pause ~>
  2.  
  3. # O exemplo vai ser de como pausar e despausar o jogo usando a tecla ESC
  4.  
  5. 1- Inicialmente vamos criar uma variavel dentro de um scrip global chamada : jogo_pausado = false
  6.  
  7. 2- Coloque essa condição dentro da função _physics_process de uma cena ( Crie uma cena para fazer a parte visual do pause e coloque essa condição la.
  8.  
  9.     if Global.jogo_pausado:
  10.         get_tree().paused = true           # Basicamente esse comando vai fazer com que todos os nós da cena principal entre em pause
  11.     else:
  12.         get_tree().paused = false          # Aqui vai despausar
  13. 3- Agora para chamarmos o pause ou sairmos dele vamos usar essa função :
  14.  
  15. func _unhandled_input(event):                                  # lembrando que não preciso chama-la no phisic_process
  16.     if event.is_action_pressed("ui_cancel"):                   # Verificando se aperto a tecla ESC
  17.         Global.jogo_pausado = not Global.jogo_pausado          # Aqui ele vai trocar de verdadeiro para falso ou vice-versa
  18.         #resume_btn.grab_focus()
  19.  
  20. 4- Muito Importante que a cena que voce vai usar para chamar o pause (Como disse antes , criei uma cena para isso), Ela esteja setada no inspetor na parte de Node > Mode = Always, ou pode setar no _ready via script assim ~> process_mode = Node.PROCESS_MODE_ALWAYS.
  21.  
  22. # Você tem que fazer isso porque a cena do pause é a única cena que pode ser pausada, caso contrário voce não consegue sair do pause ou apertar qualquer botão do seu menu visual de pause.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement