Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Goyomix325

Páginas: 1
1
Preguntas y respuestas / Re:movimiento para RPG con profundidad
« en: Marzo 03, 2019, 08:30:22 am »
tal vez  no pueda resolver tu pregunta pero intentare de resolver parte de ella, estas de suerte trabajo en un juego isometrico  y se un poco

puedes usar este código de movimiento y colisiones no es perfecto pero hace el trabajo (funciona si lo copias y pegas pero antes analiza para poder entender lo que sigue)

CREATE EVENT
Código: [Seleccionar]
h = 0;           // velocidad horizontal
      v = 0;           // velocidad vertical
      m = 1;           // multiplica la velocidad actual
      accel = 1        // aceleracion en el piso
      fric  = 0.5;     // friccion en el piso
      maxSpd = 2.1     // velocidad maxima

STEP EVENT
Código: [Seleccionar]
//[SISTEMA DE COLICIONES]
//--------------------------------------------------------------------------------//     

// VARIABLES TEMPORALES

    var i;

// VERTICAL

    for (i = 0; i < abs(v); ++i) {
    if (!place_meeting(x, y + sign(v),obj_parent_solid))
    y += sign(v);
    else {
    v = 0;
    break;
    }
    }

// HORIZONTAL

    for (i = 0; i < abs(h); ++i) {
    if (!place_meeting(x + sign(h), y, obj_parent_solid))
    x += sign(h);
    else {
    h = 0;
    break;
    }
    }
   
//[MOVIMIENTO (KEY INPUTS)]
//--------------------------------------------------------------------------------//

// IZQUIERDA



     if (kLeft && !kRight) 
     {
     if (h > 0)
     h = Approach(h, 0, fric);
     h = Approach(h, -maxSpd, accel);
     }

// DERECHA

     if (kRight && !kLeft)
     {
     if (h < 0)
     h = Approach(h, 0, fric);   
     h = Approach(h, maxSpd, accel);
     }
}   
// ARRIBA


     if (kUp && !kDown)
     {
     if (v > 0)
     v = Approach(v, 0, fric);   
     v = Approach(v, -maxSpd, accel);
     }


// ABAJO

     if (kDown && !kUp)
     {
     if (v < 0)
     v = Approach(v, 0, fric);   
     v = Approach(v, maxSpd, accel);
     }     


para manejar la profundidad

Código: [Seleccionar]
depth=-y*10


con lo de subir la rampa no creo poder ayudarte y aunque tenga algo esta experimental y no funciona correctamente la verdad pero si logro ver que pasa te lo comento
Los siguientes usuarios dieron las gracias a este tema: Goyomix325

Páginas: 1