Isometrico, plantas, alturas y saltos.

Marco1973

Hola.
Estoy haciendo un juego isométrico (con Game Maker Studio) para probar la técnica a ver que tal.
Por ahora va perfecto gracias a tutoriales que he leído.

Por ahora sólo estoy haciendo que un personaje protagonista jugador se mueva por una habitación y que si colisiona con las paredes o objetos se pare y que si colisiona con un enemigo que da vueltas aleatoriamente se muere. Va perfecto, incluso según la dirección en la que vaya se ejecuta uno de los 8 esprites animados direccionales. Cuando la habitación tiene una sola planta va perfecto.

El problema lo tengo cuando intento poner escalones, que el personaje salte, y suba a otra planta (tipo Alien 8 o Batman de Filmation del Spectrum para entendernos).
He leido algunos tutoriales y añaden con una variable local z del objeto jugador para subir la altura, pero el es que no me sale, al aplicarle gravedad el personaje sube un poco y se va a la parte de abajo de la pantalla como si fuera un juego 2d de plataformas.

El problema es que intento engañar al objeto para que mueva el sprite a y + z para simular el salto (la sombra se mantiene en y, pero eso no lo he hecho todavía), pero no logro localizar z de nuevo para que cuando sea 0 el objeto jugador deje de caer... Me gustaría afinarlo para que no sólo pudiese saltar sino subirse a objetos para hacer escaleras y pasillos a distintos niveles

¿Alguien me podría orientar un poco?

Clicspam

Por qué PONES mayúsculas a boleo? xddd

Marco1973

La verdad. Porque al publicar la misma pregunta en otro foro de Game Maker (en el que no me han contestado a la pregunta), me puso en mayúsculas algunas palabaras aleatoriamente y me enlazó con publicidad dichas palabras.
Al preguntar en este foro lo que he hecho ha sido copiar y pegar el texto publicado en el otro foro, y se ve que me ha mantenido las mayúsculas y al parecer los enlaces...
Supongo que no tiene importancia... Si se puede reeditar la pregunta cambio ese detalle... Gracias por preguntar...

Marco1973

Ya lo he modificado... Pero sigue apareciendo igual... en fin... No se, me pone palabras en mayúsculas automáticamente y me las enlaza a sitios, pensé que era por algo del otro foro, pero es al publicar los mensajes, sea donde sea, no me lo explico, espero que no tenga importancia... en fin... ¿Alguien podría contestar a mi duda?

Jastro

Prueba a usar el codigo como este ejemplo

en el create

z = 0
z_speed = 0
z_gravity = 0.2
z_bottom = 0

en el step

//Jump
if keyboard_check_pressed(vk_space) && z = z_bottom {
z_speed = 5
}

//Implant gravity
z_speed -= z_gravity
z += z_speed

//Check if the player is below the current lowest point
if z < z_bottom {
z = z_bottom
z_speed = 0
}

y el draw

draw_sprite(spr_player, 0, x, y - z)

Fuente: http://gmc.yoyogames.com/index.php?showtopic=527286

Marco1973

Gracias lo probaré. Aunque he probado con códigos muy parecidos a este y no me han funcionado, pero lo pruebo y te cuento.

Marco1973

Si que funciona... He tenido que adaptarlo a mi proyecto en varios sentidos pero la base es buena. Muchas gracias.
Ahora intentaré que suba escalones y se mueva por diversos niveles a ver que tal...
Lo dicho muchas gracias...

Marco1973

Encontré este archivo en la comunidad de yo-yo games que hace un juego isométrico en el que el jugador puede saltar y colocarse encima de los objetos de 16 pixeles de altura y pasar por debajo de los objetos que están a más de 48 píxeles de altura.
Tiene preparado otros objetos de otras alturas diferentes pero el proyecto está sin acabar y a esos elementos no salta el jugador.
Por lo que explica el programador su proyecto es de uso libre y "reta" a los compañeros de la comunidad a acabarlo y adaptarlo libremente para su uso.
A mi me interesa para aplicar el código adaptándolo en mi proyecto.
El caso es que he intentado modificar el proyecto para que salte sobre otros objetos de otras alturas y no lo consigo (en realidad lo consigo sólo en parte) ¿Alguien podría echarme un cable?
Gracias de antemano.

El enlace es este:

http://sandbox.yoyogames.com/games/136509-mario-isometric-example

Marco1973

Por cierto que aún con los objetos de 16 píxeles de altura, he intentado que se pose el jugador sobre estos pero en movimiento (objetos en movimiento, a modo de plataformas flotantes móviles) y no lo he conseguido (en el proyecto original sólo se posa sobre objetos estáticos...)

Usuarios habituales

  • Marco1973
  • Jastro
  • Clicspam