Raczej za dobra metoda to by nie była.
Można zrobić, że detektory nie mogą np. być niżej od postaci o 8 pikseli i wyżej o 8 pikseli. Potem liczy się kąt pomiędzy detektorami za pomocą point_direction i dajemy taki angle sprite'owi.
Te detektory lepiej zrobić nie jako obiekty, ale jako wartości.
EDIT: nie wiem, czy taki kod będzie działać.
GML (Create)
detektor_y[0]=y-8;
detektor_y[1]=y-8;
GML (Step)
detektor_y[0]=y-8;
detektor_y[1]=y-8;
while(!(place_free(x-8,detektor_y[0]) && !place_free(x-8,detektor_y[0]+1)) {
if place_free(x-8,detektor_y[0]+1) detektor_y[0]+=1;
if detektor_y[0]>y+8 break;
}
while(!(place_free(x+8,detektor_y[1]) && !place_free(x+8,detektor_y[1]+1)) {
if place_free(x+8,detektor_y[1]+1) detektor_y[1]+=1;
if detektor_y[1]>y+8 break;
}
angle=point_direction(x-8,detektor_y[0],x+8,detektor_y[1]);
GML (Draw)
draw_sprite_ext(sprite_index,-1,x,y,image_xscale,image_yscale,angle,image_blend,image_alpha);
Kod nietestowany, może wymagać poprawek.