Если вид сбоку, и персонаж имеет только два направления движения (как в Марио), то задача тривиальна: нужно сравнить положения объектов по оси X, и если объект наблюдатель (тот, кого будем вращать) находится левее объекта наблюдения и при этом он смотрит влево, то поворачиваем его вправо. Аналогично для поворота влево.
Однако если направление измеряется свободными углами (например, вид сверху и направление может быть любым, даже 12,333 градуса) то тогда задача усложняется.
Для этого случая предположим, что объект-наблюдатель имеет координаты (x1; y1), а объект наблюдения – (x2; y2). Тогда угол взгляда будет таким:
Посмотри урок про поворот спрайта (18 или 19 кажется), и представь что твой объект списка это курсор из урока. к объектам списка мы обращались в 23+ уроках типа (*it)->x (координата Х и тд).