0

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

有没有更有效的方法来做到这一点?这是我想做的一个例子:

*游戏画面

游戏画面 (OpenGL ES 2.0)

*控制

游戏控制

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

4

2 回答 2

1

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

  • 将几何图形收缩包裹在 UI 周围,因此您使用 alpha 0 绘制的像素越少越好。这可能涉及绘制更多三角形,但根据我的经验,这种权衡是值得的。

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

于 2015-01-05T20:15:41.553 回答
0

我从来没有开发过,OpenGL但如果你在某个布局内开发它。那么你可以做的是:

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

  2. 将 a LinearlayoutorRelativeLayout放在同一个FrameLayout.

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

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

于 2013-04-14T22:05:25.280 回答