Переместить спрайт по склону - PullRequest
2 голосов
/ 20 декабря 2010

Я пытаюсь поменять местами спрайты с другим спрайтом. До сих пор я думаю Я могу каким-то образом использовать наклон между исходным местоположением двух спрайтов, чтобы переместить их, но я растерялся относительно того, как увеличить их положение вдоль этого наклона.

1 Ответ

3 голосов
/ 20 декабря 2010

Вам нужно будет создать вектор между двумя спрайтами, нормализовать его, умножить этот нормализованный вектор на то, на сколько вы хотите, чтобы спрайт перемещался за кадр, а затем добавить этот вектор в местоположение спрайта, который вы перемещаете. Вы не указали язык, поэтому вот небольшой псевдокод:

var p1 = sprite1.location
var p2 = sprite2.location

var vec = p2.subtract(p1)
vec.normalize()
vec.multiply(6) // I want it to advance 6 units per move

while (sprite1.location != sprite2.location) // best to check with some epsilon
  sprite1.location = sprite1.location.add(vec)
end
...