Logo

¡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.
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.