Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tecnica puzzle match 3

Iniciado por cybersersupremo, 28 de Octubre de 2010, 01:45:21 PM

« anterior - próximo »

cybersersupremo

Hola, estoy creando un juego de puzzle de estos de juntar 3 cosas del mismo color o mas, y tengo una duda, se buscar mas o menos si hay 3 juntos teniendo celdas, pero como se hace para crear las animaciones antes e estar en la celda, ejemplo, en puzzle bubble lanzas la bola y luego de alguna forma en vez de ser un objeto en movimiento ya es una celda, y lo mismo cuando explota alguna y las demás van hacia abajo. cual seria la logica de estos juegos¿ no entiendo el cambio k hay de estar un objeto en la celda o no! Gracias

blau

En puzzle bobble puedes lanzar en cualquier dirección la bola pero cuando colisiona se acomoda a una posición fija

una vez acomodada, es cuando se chequea el estado de las celdas, y  se desata si procede un proceso de animación(destrucción o caída) durante el cual no puedes volver a disparar...

Esto es, a bote pronto, un pseudocodigo de lo que yo haria

Loop
{   
   switch(Estado)
   {
         case Gameplay.Idle:
                      Si ComprobarInput == Hay Disparo
                      {
                           CrearBola(Posicion, Angulo, Velocidad)
                            Estado = GamePlay.BolaDisparada
                      }

         case Gameplay.BolaDisparada:
                      MoverBola()
                      Si Colisiona
                      {
                           IniciarAjusteDeBola();
                           Estado = GamePlay.AjustarPosicionBola
                      }
         case GamePlay.AjustarPosicionBola
                     AjustarBola();
                     if (PosicionBolaAjustada)
                     {
                           ComprobarColoresCeldasAdyacentes();
                           if (DesatarDestruccionTraslacionOLoQueSeaSiProcede())
                                 Estado = GamePlay.ProcesarNuevaSituacion
                            else
                                 Estado = GamePlay.Idle
                     }
         case GamePlay.ProcesarNuevaSituacion
                     ProcesarNuevaSituacion();
                     if (Proceso == terminado)
                     {
                            Estado = GamePlay:Idle
                     }
         }
   
    Aqui comprobar cosas comunes a todos los estados... animaciones gráficas de sprites (brillos, fondo,....). moviemiento del cursor del juagador...

}






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.