我正在使用TextButton
在游戏中创建对话框气泡效果。
我已经在图片上创建了九个补丁文件
一切似乎都很好,直到我尝试使用这个bubble.9。对于LibGDX,TextButton
根据文本高度没有正确拉伸。
您可以看到多线文字延伸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);
有人看到问题所在吗?
答案 0 :(得分:1)
我终于找到了问题。 我决定用另一种字体测试这个九点,它就像一个魅力。为了理解发生了什么,我用glyphrstudio打开了两个字体。看来问题字体设计不正确。
糟糕的字体
好字体
您可以看到在错误字体上未正确设置基线和capheight。
我希望这能帮助其他人面对同样的问题。