有没有简单的方法可以在 onDrawFrame 方法中显示简单的白色文本,而右上角没有任何纹理,该文本在实现 Renderer 的类中的每个帧上都会发生变化?我相信它是 2D 的,所以不需要进行任何转换。我找到了很多教程,但它们看起来都太复杂,代码太多。也许只需要几行代码就可以完成?如果这是不可能的,那么在不修改太多现有代码的情况下最简单的方法是什么?请显示完整的代码,因为我是新手。
渲染器是一种 OpenGL 方法。 OpenGL ES 本身并不支持文本。这留下了以下选项:
- 使用纹理,使用 Android 的 Canvas 类对其进行绘制。
- 使用图书馆。这很可能也会绘制到纹理上。
- 用多边形创建文本。
由于您的问题是要求一个不绘制纹理的解决方案,因此 1 和 2 都已出局。既然你想要一些简单的东西,3 也已经出来了。没有留下什么好的解决办法。
可以考虑的另一种方法是在您正在使用的 GLSurfaceView 之上放置另一个视图。您可以使用RelativeLayout轻松堆叠两个视图,其中一个是可以锚定到屏幕右上角的文本视图。伪代码如下:
<RelativeLayout ... />
<GLSurfaceView ... />
<TextView ... />
</RelativeLayout>
这种方法的好处是可以让您摆脱 OpenGL 的要求来处理文本。我已经在我的几个应用程序上成功地做到了这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)