聲明:《使用Libgdx進行游戲開發》是一個系列,文章的原文是《Learning Libgdx Game Development》,大家請周知。后續的文章連接在這里
這是一場旅程的開始。
我們將要使用Libgdx來開發一款功能俱全的游戲--CanyonBunny峽谷兔子,一個控制兔子跑酷吃金幣的平台游戲。
對於程序員來講,實踐是最快的學習方法。所以建議大家從頭到尾的實踐一遍先,當然,要注意一些基本的提示。
在開始之前,我們要構思一下我們准備開發的游戲,最好能編寫一份游戲設計文檔。
(游戲設計文檔是一個游戲成功的基本前提。如果你沒有事先做好游戲設計文檔,那么你的游戲可能永遠沒有完成的那一天,哪怕它再簡單。)
構思之后,開始動手,首先使用Libgdx Project setup創建游戲工程。
•Name: CanyonBunny
•Package: com.packtpub.libgdx.canyonbunny
•Game class: CanyonBunnyMain
•Destination: D:\gamedev\CanyonBunny
•Generate the desktop project: 勾上
像這樣:
游戲名稱:CanyonBunny,加載工程之后記得把Android里的名稱改掉,默認的值是<string name="app_name">My LibGDX Game</string>
首先構思游戲基本框架(OOP):不懂類圖也不要擔心,可以邊做邊看,以后看得多了就懂了。
在這個類圖里面,包含了該游戲所有的類。(包括重要的類的描述和它們之間的關聯)
首先, 不要被類圖的這些線啊箭頭啊方框啊嚇到. 可能你並不熟悉類圖或者UML (Unified Modeling Language),不要擔心,直接看我解釋吧.
【每個類用一個方框代表,上面有«abstract»的表示抽象類,«interface»的表示接口。】
【線用來表示類之間的關系:不帶箭頭的線表示兩者之間相互依賴。帶實心箭頭的表示該類需要指向的類才能正常工作。空心箭頭通常都是指向基類/接口的實現類】
【數字0..*是指對應的類的實例的個數關系,是1個對1個實例還是有很多個實例】
下面我解釋一下:
• 玩家角色
°° BunnyHead: 它表示玩家控制的角色.
• 關卡對象
°° Rock: 它表示一個有邊的從左到右的平台 , 中間長度任意.就是關卡的地面.
• 關卡道具
°° GoldCoin: 它表示一個金幣,玩家碰到了增加玩家的分數.
°° Feather: 它表示一個羽毛,玩家碰到了可以飛.
• 關卡裝飾
°° WaterOverlay: 它表示水面,它跟攝像機是橫向綁定的,所以一直看得見.
°° Mountains: 它表示兩座用不同的速度移動的山,模擬一個視差效果.(Parallax視差效果是游戲中慣用的手段)
°° Cloud: 它代表了一個在天空慢慢從右移動到左邊的雲.
提示:對於游戲程序員來講,先將自己的游戲設計類圖畫出來然后進行編碼是一個好習慣。
試試根據上面的類圖實現WorldRender,WorldController,CanyonBunnyMain的代碼結構。