2010-02-04 183 views
6

我想用opengl開發一個2D遊戲給android。android opengl遊戲

我知道如何在屏幕上打印圖像併爲它們設置動畫。但在我的遊戲中,我有一張地圖,想要放大和縮小地圖並滾動。但我無法弄清楚這樣做的最佳方式。

任何人都可以幫助我嗎?

+0

你能更具體嗎?你需要關於開放GL的建議嗎?或者,您是否在尋找有關建築和2D遊戲設計的建議?目前我很難弄清楚你的實際問題。所以,我希望你能澄清一下,對於我和我可能會有所幫助:)。 – 2010-02-05 11:20:11

+1

你應該看看一些基本的平鋪概念。 把你指向我以前的問題: http://stackoverflow.com/questions/2125354/best-approach-for-oldschool-2d-zelda-like-game – Dullahx 2010-02-05 16:57:32

回答

0

最簡單的方法是在繪製地圖之前調用glTranslatef(-scrollX,-scrollY,0),然後調用glScalef(zoom,zoom,zoom)。

1

我沒有任何api的例子,但我在大學做過遊戲設計,所以我會給我兩個比特。

您使用的方法取決於您的地圖樣式,大小,功能和格式。

例如,如果您正在尋找非常靜態的非變化地圖,請使用簡單的圖片圖像。您可以將API框架用於圖片視圖,使您能夠像在圖庫中一樣進行放大和縮小,並在縮放圖像上滾動,或者在此情況下縮放地圖上的位置。另外,如果你的地圖是基於平鋪系統的,那麼這個例子就是從老遊戲男孩中最初的神奇寶貝和傳奇的塞爾達遊戲,然後每個區域存儲一個自己作爲一個位圖的「縮略圖」 。然後根據發現的區域將它們放入網格的適當位置。

這可能是構建地圖的最靈活的方法,因爲您並不依賴設置的位圖來獲取完整的地圖,這意味着它可以有效地改變其外觀;您可以根據需要構建它以顯示選擇區域(對於地圖只顯示玩家已覆蓋的位置很有用),這也意味着您可以執行基於圖塊的覆蓋:

即 - 如果某個區域應該包含寶藏,在地圖網格上疊加x,y位置上的寶物圖標。

我在大學的遊戲項目中使用了拼貼選項,它使所有其他地圖相關更容易。它還使小型存儲的地圖面更加明智。