Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: T789 en Mayo 25, 2020, 01:37:00 AM

Título: Alternativa a move_bounce [Sin solucionar]
Publicado por: T789 en Mayo 25, 2020, 01:37:00 AM
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 ???
Título: Re:Alternativa a move_bounce
Publicado por: kostra en Mayo 25, 2020, 02:49:06 AM
[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]