libgdx 贴花动态文本

2024-06-18

我正在 Libgdx 中开发 3D (2.5D) 应用程序。 我发现贴花对于此目的非常有用。

在我的应用程序中应该有包含动态文本的图层,现在我想知道通过贴花绘制文本的最佳方法是什么。

目前我的实现是基于将 BitmapFont 绘制到 FBO,然后在 DecalBatch.flush() 之前获取 FBO 纹理并将其绑定到 Decal。

我认为这可能不是最有效的方法,但找不到更好的方法。

我的应用程序可以包含放置在 3D 世界中的大量文本“图层”,因此也许将每个 BitmapFont 绘制到 FBO,并将 FBO 纹理绑定到 Decal 并不是最好的方法。

你们有更好的主意吗? 做到这一点最有效的方法是什么?

提前Tnx!


您可以通过适当分配投影矩阵,使用 SpriteBatch 直接绘制到 3D 空间中。

首先,有一个 Matrix4 来确定每个文本字符串的位置和旋转。您需要它的原因是 SpriteBatch 和 BitmapFont 没有 Z 偏移参数。

由于您可以将所有翻译放入 Matrix4 中,因此当您调用draw方法,只需绘制到0,0。

然后,您可以使用每个网格的 Matrix4 与相机的组合矩阵相乘,然后将其提交到 SpriteBatch。因此,您需要一个单独的 Matrix4 来进行计算。

textTransform.idt().scl(0.2f).rotate(0, 0, 1, 45).translate(-50, 2, 25f);
//Probably need to scale it down. Scale before moving or rotating.

spriteBatch.setProjectionMatrix(tmpMat4.set(camera.combined).mul(textTransform));
spriteBatch.begin();
font.draw(spriteBatch, "Testing 1 2 3", 0, 0);
spriteBatch.end();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libgdx 贴花动态文本 的相关文章

  • 获取 NLTK 索引的所有结果

    我正在使用 NLTK 来查找单词的一致性 但我不知道如何获取所有结果并将它们放入list or set 例如 text concordance word 仅打印前 25 个结果 TL DR text concordance lines 10
  • 如何让用户从图库中选择一张图片在游戏中使用,LibGDX

    我是学习 LibGDX 的初学者 我正在 LibGDX 中开发我的第一个游戏 您可以用选定的图片 例如某人的头部 替换敌人的球 然后躲避敌人 在我的主菜单中 我有 stage2d 按钮 我想要一个按钮 让用户选择他想要在游戏中使用的图片 所
  • LibGDX纹理混合与OpenGL混合功能

    在 libGdx 中 我试图创建一个成形纹理 采用完全可见的矩形纹理并将其遮罩以获得成形纹理 如下所示 在这里我在矩形上测试它 但我想在任何形状上使用它 我调查过本教程 http www learnopengles com tag addi
  • 在两个数字之间设置 UILabel 文本动画?

    我是 iPhone 和 Mac 编程新手 之前为 Windows 开发过 我有一个问题 我如何制作动画text的财产UILabel两个数字之间 例如从5 to 80以 Ease Out 风格 是否可以与CoreAnimation 我已经在谷
  • 在哪里可以访问 Gdx.files.local()?

    我有一个预制的 json 文件 我想测试一下 这个 Json 文件将被修改 所以我想读 写 我注意到内部是只读的 所以我想将我的 Json 文件保存在本地存储中 通过 eclipse 或操作系统 windows 8 手动 以便我可以通过 f
  • Intellij 14 提供的 javaHome 似乎无效

    首次在 Windows 7 x64 上启动 IntelliJ IDEA Community Edition 14 0 2 时 在尝试导入示例 libGDX gradle 配置时收到以下错误 Intellij 14 提供的 javaHome
  • jQuery 字符和字数统计

    这是一个非常简单的问题 jQuery 是否可以获取一个元素 计算该元素 不是文本区域或输入 中的单词数和字符数 并将其显示在 HTML 文档上 我能想到的唯一可行的代码是 document write content text length
  • 使用 setMessage() 在 AlertDialog 中显示多行文本和变量

    我需要在警报对话框中显示多行文本 如果我使用多个 setMessage 方法 则仅显示最后一个 setMessage 如下所示 final AlertDialog alertDialog new AlertDialog Builder th
  • LibGDX 闪烁

    我已经使用 LibGDX UI 设置来启动一个项目 我在实现 ApplicationListener 中唯一拥有的是 public void create setScreen new LoadingScreen this 这应该会触发 Lo
  • 如何使用 BeautifulSoup 只抓取可见的网页文本?

    基本上 我想用BeautifulSoup严格抓住可见文字在网页上 例如 这个网页 http www nytimes com 2009 12 21 us 21storm html是我的测试用例 我主要想获取正文 文章 甚至可能到处都有一些选项
  • 有没有可以将 RTF 转换为纯文本的 Python 模块? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 理想情况下 我想要一个不需要超级用户访问权限即可安装的模块或库 我在工作环境中拥有有限的特权 我一直在开
  • 将2个暗淡数组“列表列表”输出到python中的文本文件

    简单的问题 我正在创建一个两个暗淡的数组 ddist 0 d for in 0 d 在下面的代码中使用列表 它使用 gis 数据输出距离 我只是想要一种简单的方法来获取数组 列表的结果并将其输出到保持相同的 N N 结构的文本文件 我过去曾
  • 使用 pandas 删除停用词

    我想从数据框的列中删除停用词 列内有需要拆分的文本 例如我的数据框如下所示 ID Text 1 eat launch with me 2 go outside have fun 我想应用停用词text column所以应该分开 我试过这个
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • Libgdx SpriteBatch.draw() 指定 4 个顶点

    我正在使用 libGdx 创建一个 2d 游戏 并尝试使用这个特殊的方法来绘制一个简单的 2d 纹理 分别指定 4 个顶点 draw Texture texture float spriteVertices int offset int l
  • Libgdx 和 Google 应用内购买结果

    我遵循了这些指示 https github com libgdx libgdx wiki Interfacing with platform specific code使用 ActionResolver 接口集成 Libgdx 和原生 An
  • 仅从 PE 文件中提取 .text 部分

    我正在尝试从 PE 文件 dll 中提取 text 部分 即代码 Linux 或某些 python 或 ruby 库中是否有任何简单的工具可以让我轻松地完成此操作 我自己解决了 我使用 pefile python 模块提取文本部分 并使用
  • 如何将文本日志文件导入 Excel 列

    我有一些表格数据 39645961 79966658 358920045121212 0 75 2013 01 30 20 47 52 39646124 79966771 358920045121212 0 5 2013 01 30 20
  • 在 Jquery 数据表搜索框中添加提示文本的问题

    使用诸如 watermark js 之类的插件在 Jquery 数据表的搜索字段中添加灰色提示文本不是一个选项 我必须自定义编写它 我快到了 但面临着这个小而奇怪的问题 下面的代码片段解释了这一点 function toggleHintTe
  • LibGDX And​​roid 游戏 - 在滚动屏幕上显示固定文本(即分数)

    我开始在 LibGDX 中编写游戏 这才刚刚开始 我已经加载了一个基本的图块地图 一个玩家精灵 可以移动角色并且屏幕 相机 滚动 完美 我在屏幕右下角有两个重叠的纹理 一个左箭头和一个右箭头 用作控制角色的手柄 我将它们放置在与player

随机推荐