如何使用下标和上标文本和数字Libgdx。如何在libgdx中使用下标和上标文本?
0
A
回答
-2
获取标和上标在libgdx。
private Group createSubScript(String str1, String str2, LabelStyle labelStyle) {
Group grp = new Group();
Label label1 = new Label(str1, labelStyle);
// label1.setPosition(20, 80);
grp.addActor(label1);
Label subscript = new Label(str2, labelStyle);
subscript.setFontScale(0.7f);
subscript.setPosition(label1.getX() + label1.getWidth(), label1.getY() - 4);
grp.addActor(subscript);
return grp;
}
private Group createSuperScript(String str1, String str2, LabelStyle labelStyle) {
Group grp = new Group();
Label label1 = new Label(str1, labelStyle);
// label1.setPosition(20, 80);
grp.addActor(label1);
Label subscript = new Label(str2, labelStyle);
subscript.setFontScale(0.7f);
subscript.setPosition(label1.getX() + label1.getWidth(), label1.getY() + 4);
grp.addActor(subscript);
return grp;
}
4
恐怕没有默认机制来制作下标或上标,但是在使用Scene2d及其类Label时似乎很简单。
这个想法是用你的文本渲染正常的标签(例如一些数字),然后计算并添加到带有下标或上标文本的标签的较小版本。代码将是这样的:
Label label = new Label("2", skin, "default");
Label subscript = new Label("n", skin, "smaller");
subscript.setPosition(label.getX() + label.getWidth() + xLittleOffset, label.getY() + yOffset);
如果你不想持有两种风格可以只创建标为默认版本的它,只是适用于一些规模标签。
Label subscript = new Label("n", skin, "default");
subscript.setFontScale(0.5f);
...
当然是可能实现它,而无需使用Scene2d但简单的批处理渲染之后,正常只呈现较小的文字,使用一些Y轴偏移使用
draw(Batch batch, java.lang.CharSequence str, float x, float y, float targetWidth, int halign, boolean wrap)
版本绘制函数。该代码将是这样的:
BitmapFont font = createTheFont(); // here you are creating the font
//...
//in your render function:
batch.begin();
font.draw(batch, "2", x, y, width, halign, false);
font.setScale(.2f);
font.draw(batch, "n", x + width, y + someOffset, n_width, halign, false);
batch.end();
如果你需要渲染下标/上标内一个标签或发短信这将是一个有点困难,但并非不可能 - 所有你需要做的是计算位置你的字形的某种方式,留下一点空间为它添加一些原始空间。
计算字形位置相当困难,但可以迭代Label GlyphRuns及其xAdvances值(这是左偏移量的某种类型)。揣摩它自己立足于以下几点:
看this article了解字形,字体等新Libgdx版本更多的东西
不幸的是我没有一个好主意,如何实现使用批处理
当你可以阅读更多关于Scene2d这里:https://github.com/libgdx/libgdx/wiki/Scene2d
0
相关问题
- 1. 如何添加上标和下标文本在D3
- 2. 如何使用python docx在上标或下标中添加文本
- 3. 如何在html文本输入标签中使用上标?
- 4. 如何在剧本点标签的文本中包含下标
- 5. 如何使用目标C在iOS上本地下载和保存文件?
- 6. 如何使用NSAttributedString制作下标和上标?
- 7. 如何有标和上标在PyQt的文本编辑
- 8. Qt - 如何在QLineEdit中做上标和下标?
- 9. 如何在Jupyter Notebook中做上标和下标?
- 10. 如何使用下标和上标以及特殊字符来书写文字?
- 11. 如何在文档中创建上标/下标字符?
- 12. 如何在标签文本中获得Qt Creator中的上标?
- 13. HTML:我可以将下标文本放在上标下吗?
- 14. OpenGL上下文(libgdx)
- 15. UITableViewCell上标和下标
- 16. 如何在flex中添加下标/上标到按钮标签?
- 17. 如何使用NLTK和Python标记和块法文文本?
- 18. ylab()函数中的上标和下标
- 19. 如何在鼠标输入框上加下文本块
- 20. HTML中的下标文本
- 21. 设置标和下标在格式化文本在WPF
- 22. 使文本时,鼠标悬停在上下文菜单
- 23. 如何在网站上使用标签来分隔文本?
- 24. 如何将鼠标悬停在文本上使用css
- 25. 如何使用html和jquery在MAP标记上放置标记?
- 26. 在PictureBox上的鼠标光标下的文本
- 27. 如何调整一个标签在LibGdx
- 28. 如何在flex中使用上标?
- 29. 如何使用url标签下的脚本标签
- 30. 如何获取光标下的文本?
嗨,哥们 - 不明白我的错,但你刚才复制我的回答是你的,接受的我的,公认的“你”? :D:D:D –
我没有复制并粘贴你的答案。虽然在我问这个问题的时候,你的回答是帮助我的。我接受了你的回答,现在很开心。 :) – arv