2013-12-21 21 views
-1

我正在製作一個簡單的坦克射擊程序。如何使用opengl製作功率計?

這是opengl 3D遊戲,並有角度,功率表。我會用這個因子來計算即時降落導彈。

控制功率表和左右上下鍵的空格將用於控制角度。

,所以我想使權力規杆和角度的形式像下面的圖像

enter image description here

,但我不知道我在OpenGL停靠這種形式。

回答

1

您不能在OpenGL中「停靠」窗體。有兩種選擇:或者用普通的OpenGL命令繪製GUI部件(這相對簡單直觀),或者創建第二個託管窗體的窗口(如果Window管理器支持,則創建子窗口)。例如,在Windows下,這個工作非常平凡。不過,我建議不要這樣做,因爲直接在OpenGL中繪製GUI非常簡單並且硬件加速。

在OpenGL中繪製GUI可以使用衆多可用的GUI庫之一來完成,或者您可能只需手動編寫您需要的幾個元素。這可能與首先弄清楚如何使用另一個框架一樣快。
功率棒基本上是一個矩形(可能有梯度或紋理),小楔子只是紋理點精靈。主要的「形式」背景同樣可以用單個紋理四邊形繪製。角度測量儀將在背景上繪製幾條線,同樣沒有大的挑戰。

最具「挑戰性」的是繪製動態文本(如屏幕截圖中的「延遲720」),因爲高質量的文本涉及到的不僅僅是在屏幕上扔一個簡單的紋理矩形,您會例如想要做適當的字距調整所以它看起來不錯。
儘管如此,通常你仍然會使用紋理四邊形,因爲它是最快的解決方案(可選地帶有距離場紋理)。對於位圖字體,也存在許多現成的庫(以及內容創建工具,例如BMFont)。

+0

謝謝。這真的很有幫助 – dskim

+0

但是,如果攝像頭位置發生變化,我怎麼才能讓酒吧和角度不動? – dskim

+0

@dskim將視圖和投影矩陣重置爲標識,也就是說,不要將它們放在遊戲世界中,而是直接以視口座標繪製它們。 –