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  :-[
Cada día que pasa estoy mas enamorado de Holly Earl.


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...

}







Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala

#2 Agosto 13, 2012, 08:03:11 PM Ultima modificación: Agosto 15, 2012, 11:01:36 PM por MaanuRP
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
Cada día que pasa estoy mas enamorado de Holly Earl.

#4 Agosto 15, 2012, 10:59:58 PM Ultima modificación: Agosto 15, 2012, 11:02:28 PM por MaanuRP
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.



J.E.A. - Jorge El Alto

O_o

Pillado!! xd
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...