Vuelvo a hacer otra pregunta ahora porque ya muchos se van a dormir. Como puedo hacer que un objeto cuando colisiona con otro vuelva para la otra direccion por ejemplo un bloque. quiero que si hay 2 bloques distanciados y el objeto en el medio que se mueve pero al chocar tiene que volver como si pusiera hspeed. Pero quiero algo mas preciso porque si el objeto cayera de arriba y cayera sobre el bloque se queda como trabado, no me serviria. Habria que poner unas expresiones? cuales serian? ??? Prometo que es la ultima pregunta simple pero la verdad que me cuesta. Cualquier cosa lo adjunto
Busca la funcion move_bounce
Veo que no aclare bien me refiero a un objeto como el hongo de mario, cuando choca con una pared que vuelva, pero si cae desde arriba sobre el bloque tendria que seguir su curso y no trabarse ni cambiar de direccion al caer sobre el bloque, por eso el hspeed no me sirve. Obviamente habran visto en el juego original si el hongo cae sobre cualquier lugar cae sobre el piso o lo que fuere y sobre un escalon, no cambia de direccion de forma erronea. Ojala lo haya explicado bien
pues si busca la funcion move_bounce pero para que no te complique en la carpeta en la que instalaste game maker biene un ejemplo de eso creo que se llama "tutorial1"
Pero eso sirve tambien para que un objeto tambien se mueva horizontalmente?
si busca el ejemplo que te dije.
utiliza hspeed y vspeed, pero no drjes que la vspeed sea menor que cero ni que "abs(hspeed)"sea menor que la velocidad horizontal deseada... usas...
if abs(hspeed)!=4 hspeed=sign(hspeed)*4
if vspeed<=0 vspeed=0
de esa manera la velocidad horizontal no deja de ser 4 ni -4 y la vspeed no puede ser menor que cero y puedes usar move_bounce y condiciones de gravedad normal