gpt4 book ai didi

java - Libgdx九补丁文本按钮高度问题

转载 作者:行者123 更新时间:2023-12-02 13:03:51 25 4
gpt4 key购买 nike

我正在使用 TextButton 在游戏中创建对话框气泡效果。我已经创建了如图所示的 9-patch 文件 enter image description here一切似乎都很好,直到我尝试将这个 bubble.9 与 LibGDX 一起使用,TextButton 没有根据文本高度正确拉伸(stretch)。

enter image description here

enter image description here

您可以看到多行文本扩展了 TextButton 高度,但不正确。

这是代码

加载位图字体

FileHandleResolver resolver = new InternalFileHandleResolver();
assetManager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
assetManager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreetypeFontLoader.FreeTypeFontLoaderParameter dialogFont = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
dialogFont.fontFileName = Conf.ASSET_FONT;
dialogFont.fontParameters.size = 8;

初始化TextButtonStyle

NinePatch patch = atlas.createPatch("bubble");
NinePatchDrawable dialogBoxPatch = new NinePatchDrawable(patch);
buttonStyle = new TextButton.TextButtonStyle();
buttonStyle.up = dialogBoxPatch;
buttonStyle.down = dialogBoxPatch;
buttonStyle.checked = dialogBoxPatch;
buttonStyle.over = dialogBoxPatch;
buttonStyle.font = dialogFont;
buttonStyle.fontColor = Color.BLACK;

实际渲染

dialogBox = new TextButton("some\ntext", buttonStyle);
dialogBox.draw(batch, 1);

有人看出问题所在了吗?

最佳答案

终于找到问题所在了。我决定用另一种字体来测试 ninepatch,它的效果非常好。为了了解发生了什么,我用 glyphrstudio 打开了两种字体。 。看来有问题的字体设计不正确。

字体错误

enter image description here

字体不错

enter image description here

您可以看到不良字体的基线和字高未正确设置。

我希望这能帮助其他面临同样问题的人。

关于java - Libgdx九补丁文本按钮高度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44212021/

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