我在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);
}
}
答案 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);
}