Если объект движется в том же направлении, и у вас есть горизонтальная линия, следующая позиция, заданная x и y, будет
x+1, y
Если объект движется в том же направлении по вертикальной линии, это будет
x, y+1
Если объект движется по диагонали вверх-вправо
x+1,y+1
диагональ вниз-вправо
x+1, y+1
Диагональ вниз-влево
x-1, y-1
Диагональ вверх-влево
x-1, y+1
Так что-то общее было бы:
newPosition = (x+1,y) //if you wish to move forward to the right, try to handle all
cases
Все приведенные выше случаи работают, если объект движется вперед, если он движется назад, просто измените + на -. По сути, объект воспринимается как движущийся в декартовой системе координат, где x горизонтальный, а y вертикальный.
Я думаю, вы можете понять из этих трех случаев;)