STEP:
GML
if(hero zlokalizowany)
{
if(hero.x>x)
x+=min(5,hero.x-x);
else if(hero.x<x)
x-=min(5,x-hero.x);
else if(hero.y>y)
y+=min(5,hero.y-y);
else if(hero.y<y)
y-=min(5,y-hero.y);
}
Można to zapisać znacznie krócej, ale ta wersja będzie łatwiejsza do zrozumienia dla ciebie :)
Ogólnie to się opiera na tym, że doki x jest różnych od hero.x to się będzie w x poruszał, a jeśli dojdzie to zacznie w y :P