Хотя A * является своего рода излишним, когда нет препятствий, вы можете также использовать его, поскольку я написал для него библиотеку в AS3: http://www.newarteest.com/flash/astar.html
РЕДАКТИРОВАТЬ: Если вы уверены, что при поиске пути на 100% никогда не будет препятствий, я все равно рекомендую A *, потому что это дает вам большую гибкость, но в вашем конкретном случае довольно легко найти путь без препятствий, потому что двигаться только один раз по горизонтали, затем по вертикали (или наоборот), а не по диагонали.
Сначала вычтите компоненты x и y из позиций, чтобы определить, какой путь длиннее, и начните двигаться в этом направлении. Затем, когда объекты окажутся в той же позиции на этой оси, переключитесь на перемещение в другом направлении.
В зависимости от ваших потребностей, вы можете легко создать цикл или рекурсивную функцию, которая находит весь путь до того, как вы пройдете его, но может быть проще переместить объект в правильном направлении, не зная заранее весь путь. При поиске пути вы все равно должны пройти через все узлы, чтобы избежать повторного прохождения узлов дважды.