Universal Tween Engine有一个TweenManager.killTarget()选项,但是这会在不完成tween的情况下终止它。
我想立即结束一个Tween,使目标设置为Tween的结尾。不幸的是,我找不到方法?Timelines也是同样的情况。
有人知道如何做到这一点吗?
您可以使用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