Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema para cambiar de nivel

Iniciado por Joawin, Mayo 24, 2015, 02:57:37 PM

Tema anterior - Siguiente tema
Mayo 24, 2015, 02:57:37 PM Ultima modificación: Mayo 24, 2015, 03:30:20 PM por Joawin
Buenas, estoy creando un juego 2D para Android y en este tienes que conseguir darle los clicks que te pide un marcador al personaje mientras corre una cuenta atrás, y cuando consigues darlos todos en ese tiempo, deberías poder cambiar de nivel a uno en el que el personaje vaya más rápido pero no lo consigo hacer, cuando eso para se resetea el nivel, os lo muestro:
                                 
http://gyazo.com/3e480510a307eb394a0bcc8a3102ecbe" rel="external nofollow">http://gyazo.com/3e480510a307eb394a0bcc8a3102ecbe (si no se ve el gif)
 
Como pueden comprobar, cuando doy los últimos 5 clicks que me pide (marcador de la derecha) se resetea al igual que el tiempo de nuevo a 20 (el tiempo es el de la izquierda) lo que quiero es que cuando consigas dar los clicks dentro del tiempo se ponga un menú de pausa preparado con el nuevo nivel o en su defecto que se ponga el nuevo nivel ya de golpe y en este pueda hacer que el personaje se mueva más rápido y el tiempo o clicks cambie
 
Esto es lo que actualmente tengo:
 
Función del click

var vida: int = 20; //Vida Inicial
var GUITextVisualizador : GUIText;
var nivel: int = 1; //Nivel Inicial
 

function incremento () { //En desarrollo
nivel++;
if(nivel == 2){
vida = 30;
 }
}
 

function OnMouseDown () {
vida--;
GUITextVisualizador.text = vida.ToString();
    if(vida == 0){
        // Destroy(gameObject); Sin utilidad
incremento();
 }
}
 

function Reiniciar () { //Sin utilidad
OnMouseDown();
}

 
 
Cuenta atrás

var valorInicial  : int   = 5;
//GUI Text en el que se va a ver el conteo
var GUITextVisualizador : GUIText;
 
function Start () {
 
 // Llamada a función contadora
 CountDown();
 
}
 
function CountDown(){
 
 if(valorInicial>0){ // Si valorInicial es mayor a 0
  GUITextVisualizador.text = valorInicial.ToString(); // Imprimir valorInicial en variable GUI como String
  yield WaitForSeconds(1); // Esperar 1 segundo antes de ejecutar lo que esta debajo
  valorInicial--; // Restar 1 a valorInicial
  Reiniciar(); // Función Loop
 } else { // Si ya no es mayor a 0
  GUITextVisualizador.text = '0'; // 0 Es el último digito mostrado.
 }
  if (valorInicial==0) {
  Application.LoadLevel ("GameOver");
  } 
}
 
function Reiniciar(){
 CountDown(); // Ejecutar de nuevo la función contadora
}

 
GRACIAS DE ANTEMANO

Etiquetas: