如何使用libgdx在舞台上连续显示三个图像

时间:2017-04-22 08:55:36

标签: java android libgdx

我在libgdx中创建了一个启动画面,所以我需要在我的舞台上连续显示三个图像

private float time;
private int counter=10;

public void update(float delta) {

    stage.act(delta);
    counter-=Gdx.graphics.getRawDeltaTime();
    counter-=delta;
    if (counter==3)
    {
        stage.addActor(oneImg);
    }
    else if(counter==2)
    {
        stage.addActor(twoImg);
    }
    else if(counter==1)
    {
        stage.addActor(splashImg);
    }
}

1 个答案:

答案 0 :(得分:0)

NullPointerException,因为当您设置splashImg oneImg的来源时,Image为空。

Texture one = new Texture(Gdx.files.internal("img/one.png"));
oneImg = new Image(one);
oneImg.setOrigin(splashImg.getWidth() / 2, splashImg.getHeight() / 2);  // splashImag is null here

还有一件事show()Screen生命周期中调用了一次,而当时有10个值,所以你的Actor oneImg,twoImg和splashImg不会添加到舞台上。在Screen之后调用的render()生命周期show()

if (counter==3){
    stage.addActor(oneImg);
}
else if(counter==2){
    stage.addActor(twoImg);
}
else if(counter==1){
    stage.addActor(splashImg);
}