OpenGL ES 2.0 |游戏画面顶部的GUI界面?

时间:2013-04-14 21:55:49

标签: android user-interface opengl-es controls opengl-es-2.0

好的,所以我想用openGL ES 2.0制作游戏,但我的控件有问题。到目前为止,我的控件就像我游戏中的任何其他精灵一样,只需绘制它,如果相机更新,控件将在像移动相机之后更新。

有更有效的方法吗?这是我想要做的一个例子:

*游戏画面

Game Screen (OpenGL ES 2.0)

*对照

Game Controls

然后将控件放在游戏画面的顶部,这样即使相机移动也不会移动。可能吗?也许混合xml?如果是的话怎么样?谢谢!

2 个答案:

答案 0 :(得分:1)

当你在每一帧中在同一个地方绘制相同的东西时,感觉就像不必要的工作,但另一方面,屏幕的每个像素都可能重绘每一帧。大多数游戏都不会竭尽全力避免这些额外的工作。我建议尽量避免尽可能多地绘制不可见像素来赢得性能,例如:

  • 围绕用户界面缩小几何图形,以便尽可能少地绘制alpha 0像素。这可能涉及绘制更多三角形,但根据我的经验,权衡是值得的。

  • 让深度测试为您服务。如果您的UI完全不透明,您只需首先绘制它,然后在背景中绘制场景的其余部分,以便像素在UI被遮挡时不会绘制。如果您的UI只是部分不透明,您可以尝试将其细分为不透明的三角形和半透明的三角形,并在最后的单独调用中绘制半透​​明的,以便您可以对不透明的那些使用深度测试。

    < / LI>

答案 1 :(得分:0)

我从未使用OpenGL开发,但如果您在某个布局中开发它。那么你可以做的是:

  1. 将您的游戏布局放在FrameLayout

  2. LinearlayoutRelativeLayout放在同一FrameLayout内。

  3. 将控件放在您添加的布局中。

  4. 这样您将添加的控件将显示在游戏的顶部,您可以使布局半透明以获得更好的用户体验。