好的,所以我想用openGL ES 2.0制作游戏,但我的控件有问题。到目前为止,我的控件就像我游戏中的任何其他精灵一样,只需绘制它,如果相机更新,控件将在像移动相机之后更新。
有更有效的方法吗?这是我想要做的一个例子:
*游戏画面
*对照
然后将控件放在游戏画面的顶部,这样即使相机移动也不会移动。可能吗?也许混合xml?如果是的话怎么样?谢谢!
答案 0 :(得分:1)
当你在每一帧中在同一个地方绘制相同的东西时,感觉就像不必要的工作,但另一方面,屏幕的每个像素都可能重绘每一帧。大多数游戏都不会竭尽全力避免这些额外的工作。我建议尽量避免尽可能多地绘制不可见像素来赢得性能,例如:
围绕用户界面缩小几何图形,以便尽可能少地绘制alpha 0像素。这可能涉及绘制更多三角形,但根据我的经验,权衡是值得的。
让深度测试为您服务。如果您的UI完全不透明,您只需首先绘制它,然后在背景中绘制场景的其余部分,以便像素在UI被遮挡时不会绘制。如果您的UI只是部分不透明,您可以尝试将其细分为不透明的三角形和半透明的三角形,并在最后的单独调用中绘制半透明的,以便您可以对不透明的那些使用深度测试。
< / LI>答案 1 :(得分:0)
我从未使用OpenGL
开发,但如果您在某个布局中开发它。那么你可以做的是:
将您的游戏布局放在FrameLayout
。
将Linearlayout
或RelativeLayout
放在同一FrameLayout
内。
将控件放在您添加的布局中。
这样您将添加的控件将显示在游戏的顶部,您可以使布局半透明以获得更好的用户体验。