关于使用控制台在libgdx中显示文本的问题

7kqas0il  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(262)

我有个简短的问题。我正在用java和libgdx编写一个基于文本的游戏。我想创建一个类似控制台的东西。我想存储所有以前的消息,同时能够添加新的。但是,我不需要用户向控制台输入任何数据。我看到标签可能有用,但我不确定如何在向标签添加新文本时保留现有文本。我对使用libgdx还比较陌生,我认为有人可以想出更好的方法来实现这一点。
谢谢

7tofc5zh

7tofc5zh1#

以最简单的方式,你每次都可以重新创建你的标签。像这样做。

String text = "text";

Lable createLabel(String addText) {
  text = text + addText
  return Label(text, skin)
}

然后在需要标签的地方调用这个函数

xdnvmnnf

xdnvmnnf2#

只是一个快速的建议从哪里开始,因为我自己还没有这样做:
标签是绘制文本的典型方式,但每次更改文本时,它都会重新计算所有文本的图示符。在引擎盖下,它使用bitmapfontcache进行渲染。bitmapfontcache允许您使用 addText() 不需要重新计算它已经做了什么。
所以我要做的是直接使用bitmapfontcache进行文本呈现,并向其中添加文本。可以计算填充屏幕或半屏幕所需的文本行数,并在每次达到该阈值时创建一个新示例。这样,就可以有选择地只渲染那些与摄影机视口重叠的图形,这样就不会绘制成百上千的离屏图示符。

相关问题