本節書摘來自華章出版社《opengl es應用開發實踐指南:android卷》一 書中的第2章,第2.1節,作者:(美)kevin brothaler ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
空氣曲棍球是一個簡單、流行的遊戲,經常可以在保齡球館和酒吧裡見到它。盡管簡單,但非常容易讓人上瘾。在android的應用市場——google play裡,一些頂級遊戲都是基于該遊戲或者其他令人愉快的遊戲的變種。
随着空氣曲棍球遊戲開發的講解,我們會學習很多opengl概念。我們會學習如何定義和繪制一個可以玩遊戲的桌子,以及如何添加一些細節,如顔色、着色器和紋理。我們也會學習如何通過執行觸屏事件響應使用者操作。
遊戲規則
要玩空氣曲棍球遊戲,我們需要一個有兩個球門的長方形桌子(每端一個),一個冰球和兩個用來擊打冰球的木槌。在每個回合開賽前,都把冰球放在桌子中間;每個玩家要盡力把冰球擊進對方的球門,同時要防禦對方的進攻;第一個射進7個球的玩家獲勝。
作為遊戲開發計劃的一部分,我們需要做的第一件事情就是要學會如何定義空氣曲棍球桌子的結構,以及如何編寫可以在螢幕上繪制這張桌子的代碼。同時,要建構一個架構作為後續章節的基礎。我們暫時讓事情簡單一點,隻定義一個長方形作為桌子,并在桌子中間定義一條分隔線把兩邊的玩家分開。
我們也需要某種形式用來代表冰球和球門;我們先用獨立的點定義它們。在本章結束時,就可以得到所需的結構,隻要增加指令就能在螢幕上實際繪制這個桌子了。