显示每帧都会变化的文本(如分数)

2023-12-20

有没有简单的方法可以在 onDrawFrame 方法中显示简单的白色文本,而右上角没有任何纹理,该文本在实现 Renderer 的类中的每个帧上都会发生变化?我相信它是 2D 的,所以不需要进行任何转换。我找到了很多教程,但它们看起来都太复杂,代码太多。也许只需要几行代码就可以完成?如果这是不可能的,那么在不修改太多现有代码的情况下最简单的方法是什么?请显示完整的代码,因为我是新手。


渲染器是一种 OpenGL 方法。 OpenGL ES 本身并不支持文本。这留下了以下选项:

  1. 使用纹理,使用 Android 的 Canvas 类对其进行绘制。
  2. 使用图书馆。这很可能也会绘制到纹理上。
  3. 用多边形创建文本。

由于您的问题是要求一个不绘制纹理的解决方案,因此 1 和 2 都已出局。既然你想要一些简单的东西,3 也已经出来了。没有留下什么好的解决办法。

可以考虑的另一种方法是在您正在使用的 GLSurfaceView 之上放置另一个视图。您可以使用RelativeLayout轻松堆叠两个视图,其中一个是可以锚定到屏幕右上角的文本视图。伪代码如下:

<RelativeLayout ... />
    <GLSurfaceView ... />
    <TextView ... />
</RelativeLayout>

这种方法的好处是可以让您摆脱 OpenGL 的要求来处理文本。我已经在我的几个应用程序上成功地做到了这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示每帧都会变化的文本(如分数) 的相关文章

随机推荐