GML
var l, r, u, d;
image_speed = 0;
l = place_meeting(x-16,y,object_index);
r = place_meeting(x+16,y,object_index);
u = place_meeting(x,y-16,object_index);
d = place_meeting(x,y+16,object_index);
image_index = (l*power(2,0))+(r*power(2,1))+(u*power(2,2))+(d*power(2,3));
Skrypt dla 4 kierunków. Troszkę przerobić i będzie dla 8. Tylko trzeba odpowiednio klatki sprite'a ustawić.