2010-12-20 7 views
2

スプライトを別のスプライトでスワップしてみようとしています。これまでのところ私はと思っています。 2つのスプライトの元の位置の間のスロープを使って動かすことはできますが、そのスロープに沿って位置を増やす方法は失われています。スプライトを斜面に沿って移動する

答えて

3

2つのスプライトの間にベクトルを作成し、正規化し、その正規化されたベクトルにフレームあたりのスプライトの移動量を掛け、移動しているスプライトにそのベクトルを追加する必要があります。あなたは言語を指定していないので、少し疑似コードがあります:

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 
+0

ありがとうございました。ところで、私はObj-Cで働いていました –