Hola a todos 8), como hago para que un enemigo salte la pared al colisionar con ella, quisiera que cuando colisione o si esta 1 pixel de distancia de la pared, la salte y despues siga caminando. No se si ustedes conoceran un tal juego de NES llamado Gimmick, bueno, quisiera que haga igual que los primeros enemigos que aparecen que son los que saltan la pared mientras me persiguen :-[
pues me imagino que has de saber que al momento de chocar con alguna pared u objeto solido
casi siempre se pone el codigo de
x_previous, y_previous
pues en vez de que haga eso
puedes hacer el codigo de que tu personaje salte
por ejemplo:
EV COLISION CON PARED
salto_pared=true;
en el evento step
if(salto_pared==true)
{
personaje.x-=5; // si el personaje choca con una pared derecha
//aqui le cambias la animacion para que salga, la que brinca hacia la izq
//y ma so menos asi...
}
Dandole gravedad (Algo de 0.5) para que vuelva al suelo, agregarle lo siguiente:
[gml]
if (!place_free(x+32,y) and place_meeting(x,y+1,Pared) and hspeed > 0) or (!place_free(x-32,y) and place_meeting(x,y+1,Pared) and hspeed < 0)
{
vspeed = -8
}
[/gml]
EDITADO
Cita de: MaanuRP en Agosto 13, 2012, 08:03:11 PM
Mmm yo haria algo asi (No lo puedo probar porque no estoy en mi PC, asi que no estoy 100% que funcione).
Dandole gravedad como a un personaje normal (Algo de 0.5), en el evento step poner algo como lo
siguiente:
[gml]
if !(place_free(x+32,y) and vspeed > -12
{
vspeed -= 12
}
//O tambien
if place_meeting(x+32,y,objPared) and vspeed > -12
{
vspeed -= 12
}
[/gml]
Perdon por tardar, no me funcionaron los codigos, el enemigo sale volando para arriba hacia el infinito XD
Igual es medio complicado lo que quiero hacer, es que a la vez de que salte al colisionar con la pared el enemigo debería perseguir a mi personaje, de todas formas voy a probar bien tu codigo a ver si le saco o agrego algo mas el codigo de seguimiento a mi personaje, si no encuentro solucion les pongo el codigo completo del enemigo
Mejor aca te dejo un ejemplo, tu error fue que te olvidaste la gravedad. Sin ella, el enemigo jamas bajaria.
EDIT: Modifique el codigo, ya que solo funcionaba para la derecha, ademas de dejarlo mas "lindo". Ahora no salta si no esta colisionando con el suelo.
gracias! me funcionó! :D :D
J.E.A. - Jorge El Alto
O_o
Pillado!! xd