Ну сейчас можно, как вариант, сделать следующее:
1. Получить положение объекта внутри клетки (после точки).
2. Если меньше 0.5, назначить центром .5 текущей клетки.
3. Если больше, то следующей.
4. Когда player.x >= center.x, прекратить движение и поставить player.x = center.x (даже если перелетит).
5. Сменить направление.