Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Castejoncio en Octubre 01, 2014, 12:57:45 PM

Título: Problema con colisión cuando esta es en la esquina
Publicado por: Castejoncio en Octubre 01, 2014, 12:57:45 PM
Buenas!!! Pues verán, tengo hechas unas plataformas para que el player se pueda subir a ellas desde abajo. El caso es cuando se colisiona justo con el vértice de la plataforma, de repente aparece en el suelo de abajo. Por lo demás, el tema de la colisión va perfecto, pero esto es un gran problema... ¿Que puedo retocar?

Para los que descarguen el archivo, verán que hay una linea  verde en medio conforme le dan al play. Esa es la plataforma. Prueben a intentar colisionar justo en la esquina y verán lo que pasa.

Las imágenes son a modo de prueba y no son mías en absoluto ni se pretende publicarlas de ningún modo.

Los botones son left, right y para el salto, 1

Gracias!
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: king195 en Octubre 01, 2014, 03:20:53 PM
Lo primero que te recomiendo es que dejes de usar D&D, es una verdadera basura para leer el código. Empieza a hacerlo todo de nuevo desde cero a base de código, es la forma de dejarlo lo más pulido posible y cómodo.


//Step event del personaje


//View-Player
view_xview[0]=x-160;

KEY_LEFT = keyboard_check(ord('A'));
KEY_UP = keyboard_check(ord('W'));
KEY_DOWN = keyboard_check(ord('S'));
KEY_RIGHT = keyboard_check(ord('D'));
 
if !(place_meeting(x-4,y,obj_colision_padre)){
    if (KEY_LEFT){
        x -= 2;
    }
}
       
if !(place_meeting(x+4,y,obj_colision_padre)){
    if (KEY_RIGHT){
        x += 2;
    }
}

if (!KEY_LEFT and !KEY_RIGHT){
    x += 0;
}


Eso para empezar irá bien. Con eso que te pase directamente no necesitas usar ni objetos Solidos, ni place_free, ni cosas raras, es únicamente place_meeting y lo que vaya a hacer, es decir, si tiene un objeto colisionador no puede seguir caminando.

Empieza por hacer eso horizontalmente y pasar el código D&D a lineas de código dentro un evento.
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: Castejoncio en Octubre 01, 2014, 05:54:08 PM
Gracias por la respuesta!!!

El caso es que estoy empezando poco a poco introduciendo GML a lo que voy haciendo... Y el tema era que sobre la base que tengo, que se puede hacer para que no me ocurra eso... Que me esta fastidiando bastante.

Gracias de nuevo y si alguien mas se anima, estaría bien.

Nos vemos!
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: Rubenvecino en Octubre 01, 2014, 06:07:37 PM
Buenas Castejoncio,

Yo te explico lo uso para las colisiones.
No sé como andarás de inglés, pero aunque tengas el mismo nivel que yo (on ,off ,ok ,macdonald...) te valdrá.

https://www.youtube.com/watch?v=IysShLIaosk&list=UUn7FE3Tx391g1tWPv-1tv7Q

Este chico explica sobre el tema de colisiones y a la vez que hace el tutorial para plataforma, el código que usa para las colisiones te valdrá.
A lo mejor así te resulta un poco más facil.

Y sobre lo que dices de subir, también tiene un videotutorial:
https://www.youtube.com/watch?v=4dGjbxvZ0QQ&list=UUn7FE3Tx391g1tWPv-1tv7Q

Soy de los que piensan que es mejor comprender el programa y sus funciones que aprendenderte todos los comandos, ya que el GML es muy intuitivo.

Así que no le tengas miedo y prueba anque sea con este ejemplo.

Un saludo.
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: Castejoncio en Octubre 01, 2014, 06:37:19 PM
Gracias!!

El caso es que llevo ya algunas cosas hechas y eso seria empezar de 0 y no me apetece porque seguro que es una chorrada de evento y/o acción que no he puesto y es lo que está fastidiando por algún lado...
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: king195 en Octubre 01, 2014, 06:54:58 PM
Cita de: Castejoncio en Octubre 01, 2014, 05:54:08 PM
Gracias por la respuesta!!!

El caso es que estoy empezando poco a poco introduciendo GML a lo que voy haciendo... Y el tema era que sobre la base que tengo, que se puede hacer para que no me ocurra eso... Que me esta fastidiando bastante.

Gracias de nuevo y si alguien mas se anima, estaría bien.

Nos vemos!

Te he mandado un Mensaje privado con el link de todo el código hecho.  No es exactamente igual a lo que tenias, pero el corazón del código esta hecho, solo tienes que amasarlo a tu modo o a lo que quieras.
Título: Re:Problema con colisión cuando esta es en la esquina
Publicado por: Castejoncio en Octubre 01, 2014, 08:19:17 PM
Lo recibí. Muchas gracias, pero, no me abre el programa ese archivo...