Poniendo el personaje en NO solido:
Lo que pasa es que solo con tocar la plataforma, ?sta se detiene, por mas que le caiga encima (Que debe ser donde le tengo que caer para que me mueva con ella, no? jaja).
Asi que no sirve :/
1) Cambiar "objPlataforma" por "Plataforma_Movible", que es el nombre del objeto de mi plataforma movil (Recien me doy cuenta que fue de muy animal poner movible xD)
2) Cambiar "objJugador" por "Jugador", que es el nombre del objeto de mi jugador.
3) Al evento step de la plataforma movil que ya tenia lo siguiente:
[gml]
if Jugador.x > x and Jugador.x < x + 80 and position_meeting(Jugador.x,y-1,Jugador)
{
Jugador.x = Jugador.x + hspeed;
}
[/gml]
(Esto es lo que hace que la plataforma mueva al personaje cuando esta sobre ella).
Le agregue esto:
[gml]
if place_meeting(x+4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
if place_meeting(x-4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
[/gml]
Con esto las plataformas moviles funcionan como siempre, se mueven y cuando les caigo encima me mueven y eso funciona correctamente, pero al colisionar de costado con ellas sigue sucediendo el mismo error, quedo volando y la plataforma se detiene hasta que me "despegue" de ella.
4) Borre todo el evento step de la plataforma movil y puse solo lo que me dijeron que ponga:
[gml]
if place_meeting(x+4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
if place_meeting(x-4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
[/gml]
Esto obviamente hace que cuando me posicione sobre la plataforma movil, esta se mueva pero mi personaje no.
Y cuando colisiono de costado, el error sigue estando, la plataforma se queda quieta y mi jugador queda volando.
Por si no tienen ganas de leer tanto, aca les resumo:
NADA funciono, ni teniendo el personaje en solido, ni poniendolo en no solido
Cita de: Wadk en Agosto 26, 2011, 08:24:55 AMLo unico que cambie del ejemplo fue agregar el evento de colision con la plataforma movil en el jugador y poner ese codigo.
No puedo ver el editable, as? que estoy hablando a ciegas, pero prob? a poner esto en el evento de colisi?n con la plataforma:
[gml]if (y > other.y) {
move_outside_solid((other.x < x) * 180, 10);
}[/gml]
Lo que pasa es que solo con tocar la plataforma, ?sta se detiene, por mas que le caiga encima (Que debe ser donde le tengo que caer para que me mueva con ella, no? jaja).
Asi que no sirve :/
Cita de: elviskelley en Agosto 26, 2011, 06:31:29 PMLo que hice con esto fue:
en el event step de la plataforma.
if place_meeting(x+4,y+16,objPlataforma)
{with(objJugador){x*=-1;}}
if place_meeting(x-4,y+16,objPlataforma)
{with(objJugador){x*=-1;}}
1) Cambiar "objPlataforma" por "Plataforma_Movible", que es el nombre del objeto de mi plataforma movil (Recien me doy cuenta que fue de muy animal poner movible xD)
2) Cambiar "objJugador" por "Jugador", que es el nombre del objeto de mi jugador.
3) Al evento step de la plataforma movil que ya tenia lo siguiente:
[gml]
if Jugador.x > x and Jugador.x < x + 80 and position_meeting(Jugador.x,y-1,Jugador)
{
Jugador.x = Jugador.x + hspeed;
}
[/gml]
(Esto es lo que hace que la plataforma mueva al personaje cuando esta sobre ella).
Le agregue esto:
[gml]
if place_meeting(x+4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
if place_meeting(x-4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
[/gml]
Con esto las plataformas moviles funcionan como siempre, se mueven y cuando les caigo encima me mueven y eso funciona correctamente, pero al colisionar de costado con ellas sigue sucediendo el mismo error, quedo volando y la plataforma se detiene hasta que me "despegue" de ella.
4) Borre todo el evento step de la plataforma movil y puse solo lo que me dijeron que ponga:
[gml]
if place_meeting(x+4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
if place_meeting(x-4,y+16,Plataforma_Movible)
{with(Jugador){x*=-1;}}
[/gml]
Esto obviamente hace que cuando me posicione sobre la plataforma movil, esta se mueva pero mi personaje no.
Y cuando colisiono de costado, el error sigue estando, la plataforma se queda quieta y mi jugador queda volando.
Por si no tienen ganas de leer tanto, aca les resumo:
NADA funciono, ni teniendo el personaje en solido, ni poniendolo en no solido