通用Tween引擎中的时间控制

时间:2014-08-21 08:23:16

标签: java android libgdx

Timeline.createSequence()
.push(Tween.set(cuptop1, SpriteAccessor.ALPHA).target(0).start(tweenManager))
.push(Tween.set(cuptop2, SpriteAccessor.ALPHA).target(0).start(tweenManager))

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.ALPHA,0.5f).delay(0.5f).target(1).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.ALPHA,0.5f).delay(0.3f).target(1).start(tweenManager))   
    .start(tweenManager)
    )

.pushPause(1)

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.POS_XY, 1.0f).target(10,10).ease(TweenEquations.easeNone).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.POS_XY, 1.0f).target(20,20).ease(TweenEquations.easeNone).start(tweenManager))
    .start(tweenManager)
    )

.pushPause(1)

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.POS_XY, 1.0f).target(100,100).ease(TweenEquations.easeNone).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.POS_XY, 1.0f).target(200,200).ease(TweenEquations.easeNone).start(tweenManager))
    .start(tweenManager)
    )
.start(tweenManager);

嗨,我是编程新手。我正在使用补间引擎制作动画。

应该是这样的:

首先,2杯同时出现在(100,100)和(200,200) 一秒钟之后,2杯同时分别移动到(10,10)和(20,20) 最后,他们同时回到原来的位置。回复

但是,3个步骤同时发生并忽略pushPause。 我该如何纠正?谢谢!

1 个答案:

答案 0 :(得分:1)

问题是你将.start(tweenManager)调用到内部声明中,触发3个连续动画中的每一个立即运行。

您的代码应该如此:

Timeline.createSequence()
.push(Tween.set(cuptop1, SpriteAccessor.ALPHA).target(0).start(tweenManager))
.push(Tween.set(cuptop2, SpriteAccessor.ALPHA).target(0).start(tweenManager))

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.ALPHA,0.5f).delay(0.5f).target(1).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.ALPHA,0.5f).delay(0.3f).target(1).start(tweenManager))   
    )

.pushPause(1)

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.POS_XY, 1.0f).target(10,10).ease(TweenEquations.easeNone).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.POS_XY, 1.0f).target(20,20).ease(TweenEquations.easeNone).start(tweenManager))
    )

.pushPause(1)

.push(Timeline.createParallel()
    .push(Tween.to(cuptop1, SpriteAccessor.POS_XY, 1.0f).target(100,100).ease(TweenEquations.easeNone).start(tweenManager))
    .push(Tween.to(cuptop2, SpriteAccessor.POS_XY, 1.0f).target(200,200).ease(TweenEquations.easeNone).start(tweenManager))
    )

.start(tweenManager);