【问题标题】:Time control in Universal Tween Engine通用补间引擎中的时间控制
【发布时间】:2014-08-21 20:58:21
【问题描述】:
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);

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

应该是这样的:

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

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

【问题讨论】:

    标签: java android libgdx


    【解决方案1】:

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

    你的代码应该是这样的:

    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);
    

    【讨论】:

    • 哦,是的!这就是问题所在。另外,我应该删除所有 .start(tweenManager);在 Tween.to() 方法后面。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多