Las funciones de move_bounce me habian ayudado mucho cada vez que queria hacer una bala que rebotara en distintas direcciones o para juegos estilo pong pero ya ha pasado el tiempo y he encontrado varios fallos en ellas
por ejemplo que la pelota se quede pegada a la pared y comienze a mover pegada a ella o que al chocar esta torne a una direccion totalmente equivocada de la que deberia
Ahora como podria hacer lo mismo que la funcion de move_bounce pero sin obtener estos errores o admenos disminuirlos, pues quiero que al chocar de cualquier lado esta torne a cualquier direccion opuesta al igual que lo hacia move_bounce
Eso lo puedo hacer con otra funcion o por medio de cualquier otro tipo de metodo ???
[gml]
if !place_free(x+sign(hsp),y) {
hsp *= -1;
dir = radtodeg( arctan2(vsp,hsp) );
dir = (dir%360+360)%360+1;
}
if !place_free(x,y+sign(vsp)) {
vsp *= -1;
dir = radtodeg( arctan2(vsp,hsp) );
dir = (dir%360+360)%360+1;
}
[/gml]