如何使用Universal Tween Engine立即结束一个tween?

3

Universal Tween Engine有一个TweenManager.killTarget()选项,但是这会在不完成tween的情况下终止它。

我想立即结束一个Tween,使目标设置为Tween的结尾。不幸的是,我找不到方法?Timelines也是同样的情况。

有人知道如何做到这一点吗?

1个回答

2

您可以使用Tween或Timeline并指定与动画持续时间相同的时间间隔显式调用update()(个人建议使用Timeline)。

例如(假设您有一个名为spr的libgdx Sprite和正确实现相关缓动类型的SpriteAccessor):

// scale and move a sprite over 2 seconds
Timeline tl = Timeline.createSequence().
    .push(Tween.set(spr, SpriteAccessor.SCALE).target(1, 1))
    .push(Tween.set(spr, SpriteAccessor.POSITION).target(0, 0))
    .beginParallel()
        .push(Tween.to(spr, SpriteAccessor.SCALE, 2).target(2, 2))
        .push(Tween.to(spr, SpriteAccessor.POSITION, 2).target(50, 50))
    .end()
    .start(tweenManager);

// force the animation to complete
tl.update(2);
// no need to call kill() as isFinished gets set implicitly by the update

希望这可以帮到你!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接