gpt4 book ai didi

java - 标签的舞台叠加 - 标签很大,设置范围对于缩放来说毫无用处

转载 作者:行者123 更新时间:2023-12-02 07:10:02 35 4
gpt4 key购买 nike

我正在开发一个 libgdx 游戏,在这个游戏中,当您点击“帮助”屏幕时,我的 Help_Manager 类使用我的“房间”舞台对象来绘制标签。房间的摄像头宽 27,高 18。舞台使用相同的相机,并将其视口(viewport)设置为相同的宽度和高度。 enter image description here

如果我要向舞台添加一个带有边界(4,4,1,1)的文本按钮,该按钮会正确绘制,但是当我添加带有边界(0,0,16,4)的标签时,标签“S”单独占据了屏幕的一半(如上所示)(它应该说“从飞船上滑动手指到“Fling”飞船。”)。无论我将边界宽度和高度设置为多少,标签的大小仍然相同。更改比例也没有效果。更改字体比例(标签的字体,而不是字体)确实有效果,但由于某种原因,文本全部搞乱了: Messed up text

这里是一些代码:房间.java:

Stage stage = new Stage();
camera = new OrthographicCamera(WIDTH,HEIGHT);
camera.position.set(WIDTH/2,HEIGHT/2,0);
camera.update();
stage.setCamera(camera);
stage.setViewport(WIDTH, HEIGHT, false);
public void resize(int width, int height){
ppux = width/WIDTH;
ppuy = height/HEIGHT;
stage.setViewport(Room.WIDTH,Room.HEIGHT,false);
}
public void render(float delta){
stage.act(delta);
stage.draw();
}

Help_Manager.java

BitmapFont font = new BitmapFont();
LabelStyle style = new LabelStyle();
Label text;
style.font = font;
text = new Label(instructions[0],style);
text.setText(instructions[stage]);
text.setBounds(0,0,16,4);
//text.setFontScale(0.1f);
room.stage.addActor(text);

那么我该如何让我的厂牌配合呢?预先感谢您的帮助!

最佳答案

嗯,我发现字体默认使用整数作为位置。当使用较小的相机尺寸和舞台视口(viewport)时,意味着需要更准确地放置字母,因此我必须更改 font.setUseIntegerPosistions(false);我还发现,当您设置标签的键时,这只是定义了可以使用的空间,但它仍然填充有相同的字体和文本大小。您将相同的东西放入更大/更小的盒子中。 (这解释了为什么当您增加标签的高度、提高顶部边界时文本会向上移动,并且文本从顶部开始)。要实际更改字体大小,请使用 text.setFontScale();

关于java - 标签的舞台叠加 - 标签很大,设置范围对于缩放来说毫无用处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639755/

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