【发布时间】:2015-03-19 10:51:56
【问题描述】:
我正在使用 LibGdx 中的通用补间库将 Sprite 从屏幕顶部移动到屏幕中间,如下面的代码中所述。我可以看到动画开始之前有明显的延迟。我什至将延迟设置为 0f 仍然无法解决。请帮忙。
sprite1 = new Sprite(LEVEL_SELECTION_BOARD);
// Top to bottom
sprite1.setPosition((SCREEN_WIDTH/2) - LEVEL_SELECTION_BOARD .getWidth()/2 ,SCREEN_HEIGHT);
Tween.to(sprite1,SpriteTween.POSITION_Y,20f)
.delay(0f)
.target( SCREEN_HEIGHT /2 - LEVEL_SELECTION_BOARD.getHeight()/2)
.ease(TweenEquations.easeOutBack)
.setCallback(callbackEnd)
.setCallbackTriggers(TweenCallback.END)
.start(tweenManagerLevelBoard);
@Override
public void render(SpriteBatch sb) {
//System.out.println("StartScreen - Render ");
batch=sb;
sb.setProjectionMatrix(camera.combined);
sb.begin();
sb.draw(BACKGROUND,0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
delta = (TimeUtils.millis()-startTime)/1000; // **get time delta **//
tweenManagerLevelBoard.update(delta); //** update sprite1 **//
sprite1.draw(batch);
sb.end();
}
【问题讨论】:
-
可能与您初始化
startTime的方式有关(未显示)。 -
我把它变成了这样 delta = (TimeUtils.millis()-startTime + 500)/1000 ;现在好了