我有个简短的问题。我正在用java和libgdx编写一个基于文本的游戏。我想创建一个类似控制台的东西。我想存储所有以前的消息,同时能够添加新的。但是,我不需要用户向控制台输入任何数据。我看到标签可能有用,但我不确定如何在向标签添加新文本时保留现有文本。我对使用libgdx还比较陌生,我认为有人可以想出更好的方法来实现这一点。谢谢
7tofc5zh1#
以最简单的方式,你每次都可以重新创建你的标签。像这样做。
String text = "text"; Lable createLabel(String addText) { text = text + addText return Label(text, skin) }
然后在需要标签的地方调用这个函数
xdnvmnnf2#
只是一个快速的建议从哪里开始,因为我自己还没有这样做:标签是绘制文本的典型方式,但每次更改文本时,它都会重新计算所有文本的图示符。在引擎盖下,它使用bitmapfontcache进行渲染。bitmapfontcache允许您使用 addText() 不需要重新计算它已经做了什么。所以我要做的是直接使用bitmapfontcache进行文本呈现,并向其中添加文本。可以计算填充屏幕或半屏幕所需的文本行数,并在每次达到该阈值时创建一个新示例。这样,就可以有选择地只渲染那些与摄影机视口重叠的图形,这样就不会绘制成百上千的离屏图示符。
addText()
2条答案
按热度按时间7tofc5zh1#
以最简单的方式,你每次都可以重新创建你的标签。像这样做。
然后在需要标签的地方调用这个函数
xdnvmnnf2#
只是一个快速的建议从哪里开始,因为我自己还没有这样做:
标签是绘制文本的典型方式,但每次更改文本时,它都会重新计算所有文本的图示符。在引擎盖下,它使用bitmapfontcache进行渲染。bitmapfontcache允许您使用
addText()
不需要重新计算它已经做了什么。所以我要做的是直接使用bitmapfontcache进行文本呈现,并向其中添加文本。可以计算填充屏幕或半屏幕所需的文本行数,并在每次达到该阈值时创建一个新示例。这样,就可以有选择地只渲染那些与摄影机视口重叠的图形,这样就不会绘制成百上千的离屏图示符。