Android Eclipse Libgdx Tween速度

时间:2014-06-11 14:45:23

标签: android eclipse libgdx tween

所以我有一个Tween将Sprite从当前位置移动到触摸位置。问题是如果触摸的位置接近Sprites当前位置,则速度非常慢。如果触摸的位置远离精灵,它会很快移动。

我的理解是Tween.to(mySprite, Type.POSITION_XY, 1.0f);语句末尾的数字是分配给补间完成的时间。有没有办法根据触摸位置与当前位置的距离,或者从触摸时间到Tween完成时稳定增加?

基本上我正在寻找的是,无论距离如何,Tween都以相似的速度移动Sprite。

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

您只需将行驶距离除以所需速度即可获得总时间。通过缓和,您的速度将不会是恒定的,但它将是正确的平均速度。

static final float SPEED = 30; //in world units per second

...

Tween.to(mySprite, Type.POSITION_XY, Vector2.dst(mySprite.x, mySprite.y, destinationX, destinationY)/SPEED)
    .target(destinationX, destinationY);