游戏开发随想之2D游戏架构
游戲開發(fā)中的幾個要素
??一、游戲首要的要素便是角色,如果將角色歸納為一個MVC架構的話:
??????? 1、模型便是角色的位置信息,屬性之類的。
????????2、視圖則是一些圖片集合,有規(guī)則的組合它們,將它們分成若干組,那么每一組就是一個動作。每個組有若干張圖片,一般的它們通過時間來決定應該怎樣呈現(xiàn)這個視圖(亦即顯示哪張圖片)。可以設置動作,讓這個視圖有不同的行為。一般的,我們稱這個視圖為精靈(Sprite),精靈將在另一篇文章中描述。
????????3、控制器就是用來設置角色動作的。它有可能是對精靈的一個簡單的代理,假如控制器設置角色狀態(tài)為行走,那么可能控制器只是簡單的調用了精靈的setAction(ActionRun)方法,并且有精靈自己去設置速度。???? 當然也可以這樣去實現(xiàn)控制器,一方面它通過代理設置精靈的動作,同時也去修改對象的物理屬性。控制器可能由玩家來操作,也有可能由NPC的A.I.進行操作,也有可能來自網(wǎng)絡。
? 二、接下去比較重要的便是地圖模塊。對于地圖,目前只把它當成一個MV結構。
??????? 1、模型層:地圖一般有各種碰撞線或者每個塊有不同的狀態(tài)(比如能否通過該塊),所以這些狀態(tài)都應該保存在地圖的模型中。
????????2、視圖層:地圖一般通過外部的編輯工具來設計的。一般的,地圖很少在游戲過程中變動,所以將它直接保存在內存中的一張圖片中。對于地圖怎么創(chuàng)建的,將在另一篇文章描述。
? 三、物理引擎。
????????物理引擎一般對對象進行碰撞檢測,以及改變對象的運動狀態(tài)。對于一些簡單的游戲,只要設計簡單的物理引擎就可以了。對于對物理效果要求比較高的游戲,最好套用現(xiàn)成的比較成熟的引擎。
? 四、用戶界面元素。
??????? 這個模塊提供各種窗口,按鈕來供交互。
? 五、游戲的“Holder ”:
??????? 它是游戲的持有者,它持有幾乎所用的游戲對象,它維護游戲的正常運作。它與資源管理器協(xié)同完成游戲對象(比如窗口,角色,地圖)的創(chuàng)建,以及釋放資源。它定時驅動渲染線程,解析角色的動作,我這里它組合有物理引擎。
? 六、游戲的資源管理器。
?????????游戲運行過程中需要大量的圖片相關的資源。而且很多游戲中,一個相同造型的角色會有好幾份拷貝,如果沒有進行良好的設計的話,這些角色就會持有不同的圖片資源的拷貝。因此特意設計了資源管理器,GameHolder創(chuàng)建對象時,都會向資源管理器申請資源,如果該資源已經(jīng)加載到內存中了,就會返回資源的引用;如果沒有,就會載入該資源。
轉載于:https://blog.51cto.com/mooncity/1001833
總結
以上是生活随笔為你收集整理的游戏开发随想之2D游戏架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [github]使用——上传工程到新建的
- 下一篇: 《面向模式的软件体系结构2-用于并发和网