Hola amigos makeros necesito una ayudita con este tema
tengo este codigo en
//END STEP DE LA PLATAFORMA
if place_meeting(x,y-1,obj_player)
{
obj_player.x+=spd; //funciona bien
}
else
if place_meeting(x,y-1,obj_player)
{
obj_player.x-=spd;//aqui no funciona
}
https://gyazo.com/6d38726bceb3054307757348c94c2b97
Es el player el problema la plataforma funka bien!
para un lado si se mueve junto a la plataforma
pero para el otro no esta bien.
Gracias
trata de que la plataforma su spd se mantenga, a la izquierda en positivo, y a la derecha en negvativo, así solo has de poner:
if place_meeting(x,y-1,obj_player)
obj_player.x=spd; //funciona bien
y no hace falta nada más ;)
el player me aparece en otro lado. :'( :'(
trata de poner en el create de la plataforma:
vspeed = 4; //4 por ejemplo
y en la colisión con la pared mismo:
vspeed = -vspeed;
entonces en su step ya puedes poner:
if place_meeting(x,y-1,obj_player)
obj_player.vspeed = vspeed;
si ves que al salir de la plataforma tu player aun se mueve, añádele después de eso último un else:
else
obj_player.vspeed = 0;
PD: todo a ojo, macabo de despertar xD
no se si ya resolvieron tu problema, pero el codigo que pasaste esta mal.
Cita de: eams1986 en Enero 23, 2016, 01:59:00 AM
Hola amigos makeros necesito una ayudita con este tema
tengo este codigo en
//END STEP DE LA PLATAFORMA
if place_meeting(x,y-1,obj_player)
{
obj_player.x+=spd; //funciona bien
}
else
if place_meeting(x,y-1,obj_player)
{
obj_player.x-=spd;//aqui no funciona
}
https://gyazo.com/6d38726bceb3054307757348c94c2b97
Es el player el problema la plataforma funka bien!
para un lado si se mueve junto a la plataforma
pero para el otro no esta bien.
Gracias
estas usando en el else la misma condicional que usas en el primer if, por eso esa parte del codigo nunca se ejecutara porque, en primer lugar, ya es falso.
[gml]
if place_meeting(x,y-1,obj_player)//esto
{
obj_player.x+=spd;
}
else
if place_meeting(x,y-1,obj_player)//y esto son iguales.
{
obj_player.x-=spd;
}
//por lo que no se ejecuta porque es falso
[/gml]
lo que entiendo de tu codigo es que si el jugador esta encima de la plataforma, mientras este encima, le estara sumando a su x la velocidad de desplazamiento de la platafarma. y si no esta encima hace exactamente lo mismo. hay radica tu problema
tienes que hacer algo asi
[gml]
//END STEP DE LA PLATAFORMA
if place_meeting(x,y-1,obj_player)
{
obj_player.x+=(spd*dir);
}
[/gml]
donde dir es la direccion de tu plataforma, si va a la derecha es 1 y si va a la izquierda es -1
Gracias ya estaba solucionado fue error mio no ponerlo en el titulo ;) ;)