Entrada não detectada na cena Unity. Funciona ao iniciar o jogo a partir dessa cena; não funciona de outra forma
Atualmente, estou trabalhando em um jogo em que a tela inicial é o nível 0, os níveis jogáveis reais são os níveis 1 a 4 e a tela perdida é o nível 5. Meu problema é com a tela perdida. Aqui está o meu código:
void Update () {
if(Input.GetKeyDown(KeyCode.Return) && (CurrentLevel == 0)){
CurrentLevel = 1;
Application.LoadLevel (CurrentLevel);
}
if (CharacterMovement.Score == 10) {
CurrentLevel = 2;
CharacterMovement.Score = 11;
Application.LoadLevel (CurrentLevel);
}
if (CharacterMovement.Lives == 0) {
isLost = true;
Debug.Log ("is now true");
CurrentLevel = 5;
Debug.Log ("current level is set to 5");
Application.LoadLevel (CurrentLevel);
}
if (CurrentLevel == 5) {
Debug.Log ("this is level 5");
if (Input.GetKeyDown(KeyCode.Tab)) {
Debug.Log ("tab is pressed");
}
}
}
Quando perco a vida inteira, sou enviado corretamente para a tela de perda e recebo os seguintes logs deDebug.Log
: "agora é verdade", "o nível atual está definido como 5" e "este é o nível 5." No entanto, quando pressiono tab na tela perdida, nunca recebo o log "Tab pressionado". Isso é importante porque eu quero poder redefinir o jogo para a tela inicial quando a tecla for pressionada.
O estranho é que, se eu pressionar play na tela de perda no editor do Unity e clicar na guia, ele funcionará perfeitamente. Mas se eu jogar de novo e perder a vida inteira e tentar acertar o tab, isso não funcionará novamente.
Oque esta acontecendo aqui?