Como fazer para sair do jogo apertando uma tecla?
2 participantes
Página 1 de 1
Como fazer para sair do jogo apertando uma tecla?
Pessoal, bom dia.
Alguém poderia me dizer qual é o comando em C# que se deve usar para determinar se uma tecla (no caso a tecla ESC) do teclado em específico for apertada, a aplicação saírá?
Eu tentei incluir um if dentro da void Start() mas não funfou.
O meu código estava assim:
No segundo caso disse que eu precisava declarar o botão? Mas no caso não é botão que quero usar e sim a tecla Esc.
Agradeço desde já.
Abs
Alguém poderia me dizer qual é o comando em C# que se deve usar para determinar se uma tecla (no caso a tecla ESC) do teclado em específico for apertada, a aplicação saírá?
Eu tentei incluir um if dentro da void Start() mas não funfou.
O meu código estava assim:
- Código:
if (Keyboard.IsKeyDown(Key.Escape)){
Application.Quit ();
}
- Código:
if (Input.GetButtonDown("Escape")){
Application.Quit ();
}
No segundo caso disse que eu precisava declarar o botão? Mas no caso não é botão que quero usar e sim a tecla Esc.
Agradeço desde já.
Abs
kenau- Iniciante
- PONTOS : 2386
REPUTAÇÃO : 2
Respeito as regras :
Re: Como fazer para sair do jogo apertando uma tecla?
Este comando não funciona no editor, apenas na Build. Compile seu projeto e execute-o, deverá funcionar normalmente.
#Edit
Apenas ressaltando, o "Escape" também é reconhecido nos aparelhos celulares, por meio do botão "Back / voltar", então funcionará em mobile também.
#Edit
Apenas ressaltando, o "Escape" também é reconhecido nos aparelhos celulares, por meio do botão "Back / voltar", então funcionará em mobile também.
- Código:
void Update () {
if (Input.GetKeyDown (KeyCode.Escape)) {
Application.Quit ();
}
}
Isabela- Avançado
- PONTOS : 2834
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Re: Como fazer para sair do jogo apertando uma tecla?
Obrigado Isah.
Mas devo colocar esse if em que Script? Num Script com as funções de cada fase? Ou seja, level1.cs, level2.cs, leve3.cs em cada um deles deve ter um if desses?
Mas devo colocar esse if em que Script? Num Script com as funções de cada fase? Ou seja, level1.cs, level2.cs, leve3.cs em cada um deles deve ter um if desses?
kenau- Iniciante
- PONTOS : 2386
REPUTAÇÃO : 2
Respeito as regras :
Re: Como fazer para sair do jogo apertando uma tecla?
Basta apenas um script. mas sobre a utilização do mesmo, você tem algumas alternativas:
Criar um único objeto para gerenciar comandos básicos do jogo, como sons, funções que precisam ser passadas entre cenas(inclusive essa), e utilizar o Object.DontDestroyOnLoad, para manter o objeto com esse script ativo mesmo alterando a cena, assim todas elas responderão aos teus comandos.
DontDestroyOnLoad
Ou, você pode colocar esse script em algum objeto em cada cena, vai funcionar também.
Lembrando que é uma boa prática separar seus scripts por finalidades, UI/Personagem/Inimigos/etc. Então, tente agrupar nesse script, funções específicas para a navegação entre cenas, fica mais organizado e fácil de manter.
Ex:
Com esse script, você já consegue sair do jogo, e alterar a cena usando os botões, bastando apenas digitar o nome da cena no botão da UI.
Para isso adicione uma OnClick no botão, arraste o objeto que contém esse script para o campo de referência do botão, e então selecione a função CarregaCena, feito isso basta informar o nome da cena que deseja carregar.
Preste atenção, pois para funcionar corretamente, a cena precisa estar inclusa na "Scenes in Build" que fica na Build Settings.(pressione Ctrl+Shift+B para acessar a Build Settings)
Criar um único objeto para gerenciar comandos básicos do jogo, como sons, funções que precisam ser passadas entre cenas(inclusive essa), e utilizar o Object.DontDestroyOnLoad, para manter o objeto com esse script ativo mesmo alterando a cena, assim todas elas responderão aos teus comandos.
DontDestroyOnLoad
Ou, você pode colocar esse script em algum objeto em cada cena, vai funcionar também.
Lembrando que é uma boa prática separar seus scripts por finalidades, UI/Personagem/Inimigos/etc. Então, tente agrupar nesse script, funções específicas para a navegação entre cenas, fica mais organizado e fácil de manter.
Ex:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GerenciadorCenas : MonoBehaviour {
void Update () {
if (Input.GetKeyDown (KeyCode.Escape)) {
Application.Quit ();
}
}
public void CarregaCena(string nomeCena){
SceneManager.LoadScene (nomeCena);
}
}
Com esse script, você já consegue sair do jogo, e alterar a cena usando os botões, bastando apenas digitar o nome da cena no botão da UI.
Para isso adicione uma OnClick no botão, arraste o objeto que contém esse script para o campo de referência do botão, e então selecione a função CarregaCena, feito isso basta informar o nome da cena que deseja carregar.
Preste atenção, pois para funcionar corretamente, a cena precisa estar inclusa na "Scenes in Build" que fica na Build Settings.(pressione Ctrl+Shift+B para acessar a Build Settings)
Isabela- Avançado
- PONTOS : 2834
REPUTAÇÃO : 260
Idade : 24
Respeito as regras :
Tópicos semelhantes
» Como criar Objetos (GameObjects) Apertando Uma tecla
» como fazer botão simular uma tecla do teclado para jogos android unity
» Como implantar uma bomba com um personagem apertando uma tecla, estilo bomberman
» Tem como fazer o jogo forçar o hardware do celular para rodar melhor?
» Como fazer para o jogo so iniciar se houver internet?
» como fazer botão simular uma tecla do teclado para jogos android unity
» Como implantar uma bomba com um personagem apertando uma tecla, estilo bomberman
» Tem como fazer o jogo forçar o hardware do celular para rodar melhor?
» Como fazer para o jogo so iniciar se houver internet?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos