gpt4 book ai didi

java - libgdx 如何缩放 BitmapFont 以更改屏幕大小?

转载 作者:行者123 更新时间:2023-11-29 21:11:29 25 4
gpt4 key购买 nike

我想要的是在更改屏幕大小时相应地更改大小的位图字体。我的意思是在我的电脑上,字体显得相当大,但在我的手机上,它是一种难以阅读的小字体。我可以更改大小,但我希望它在所有屏幕上看起来都相似,而不是在一个屏幕上变大而在另一个屏幕上变小。这是我的代码,用于查看我必须使用的内容:

public void render() {
//score system
scoreFont.setColor(1.0f, 1.0f, 1.0f, 1.0f);
scoreBatch.begin();
scoreFont.draw(scoreBatch, Long.toString(getScore()), 10, Gdx.graphics.getHeight() - 10);
scoreFont.setScale(3, 3);
scoreBatch.end();
}

public void resize(int width, int height) {
camera.viewportWidth = 450;
camera.viewportHeight = 250;
camera.update();
stage.setViewport(450, 250, true);
stage.getCamera().translate(-stage.getGutterWidth(), -stage.getGutterHeight(), 0);
}

最佳答案

这样想,你总是希望有相同的比率。

例如:

500/3 = 450/x

x 是文本的新大小。所以你必须做一些交叉乘法。

500x = 1350

1350÷500 = x

现在以编程方式执行此操作。

public void resizeText(float width, float currentSize, float currentWidth){
//currentWidth/currentSize = width/x
a = width * currentSize;//450 * 3 in example above
b = a/currentWidth;
return b;//returns the x or the new size that your text should be
}

你还说它需要根据大小超过一定数量而改变。

这是我设计的一个小东西

ApplicationType appType = Gdx.app.getType();
if (appType == ApplicationType.Android || appType == ApplicationType.iOS) {
screenFont.setScale(your number)
} else { screen font.setScale(otherNum)} //if its a desktop

关于java - libgdx 如何缩放 BitmapFont 以更改屏幕大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672982/

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