gpt4 book ai didi

java - LibGDX 阶段褪色为黑色

转载 作者:行者123 更新时间:2023-11-30 00:28:15 24 4
gpt4 key购买 nike

我的游戏中有多个带有阶段的屏幕,我一直在它们之间实现一个简单的淡入淡出过渡。

它现在可以工作了,但我希望屏幕逐渐变黑。不过游戏的透明色是白色,所以只有舞台明显淡出,背景保持白色。我已经尝试将 Actions.color(Color.BLACK, Interpolation.fade) 添加到舞台上,但实际上什么也没有发生。

如何正确实现淡入淡出过渡?

最佳答案

Stage 没有可绘制内容只有一个包含所有子项的组。

因此创建全屏黑色 Image 并添加到舞台作为背景。然后在 show() 中通过操作使其变白,作为您所需的背景。

@Override
public void show() {

final Image image=new Image(new TextureRegion(GdxTest.getTexture()));
image.setSize(stage.getWidth(),stage.getHeight());
image.setOrigin(stage.getWidth()/2,stage.getHeight()/2);
image.setColor(Color.BLACK);

stage.addActor(image);
stage.addListener(new ClickListener(){

@Override
public void clicked(InputEvent event, float x, float y) {

image.addAction(Actions.sequence(Actions.color(Color.BLACK,2),Actions.run(new Runnable() {
@Override
public void run() {
((GdxTest)Gdx.app.getApplicationListener()).setScreen(new SecondScreen());
}
})));

super.clicked(event, x, y);
}
});

image.addAction(Actions.color(Color.WHITE,2));
}

getTexture() 方法

public static Texture getTexture(){

Pixmap pixmap;
try {
pixmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
}catch (GdxRuntimeException e)
{
pixmap=new Pixmap(1,1, Pixmap.Format.RGB565);
}
pixmap.setColor(Color.WHITE);
pixmap.drawRectangle(0,0,1,1);

return new Texture(pixmap);
}

关于java - LibGDX 阶段褪色为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44980601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com