Quiero saber como hacer las colisiones ya que estoy haciendo un top down shooter y usa el image angle, entonces cuando giro pegado a el muro utilizando la funcion place free cuando muevo el personaje con el mouse, por que obviamente apunta a la mira
y se pega, entonces quiero utilizar otro metodo de colision

var Abutton = keyboard_check(ord("A"))
var Dbutton = keyboard_check(ord("D"))
var Wbutton = keyboard_check(ord("W"))
var Sbutton = keyboard_check(ord("S"))
   
    if(Dbutton && place_free(x+4,y)) {
        x+=3;
    }
    if(Abutton && place_free(x-4,y)) {
        x-=3;
    }       
    if(Wbutton && place_free(x,y-4)) {
        y-=3;
    }       
    if(Sbutton && place_free(x,y+4)) {
        y+=3;
    }

image_angle = point_direction(x,y,mouse_x,mouse_y)


y si he pueso en solido el muro

hola ..  prueba asi..  tal vez funcione:

en create:


distancia=10 // cambiala a la distancia entre tu x,y,  y la pared



var Abutton = keyboard_check(ord("A"))
var Dbutton = keyboard_check(ord("D"))
var Wbutton = keyboard_check(ord("W"))
var Sbutton = keyboard_check(ord("S"))
   

px=x+lengthdir_x(distancia,image_angle)
py=y+lengthdir_x(distancia,image_angle)


    if(Dbutton && place_free(px,py)) {
        x+=3;
    }
    if(Abutton && place_free(px,py)) {
        x-=3;
    }       
    if(Wbutton && place_free(px,py)) {
        y-=3;
    }       
    if(Sbutton && place_free(px,py)) {
        y+=3;
    }

image_angle = point_direction(x,y,mouse_x,mouse_y)