日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游戏开发随想之2D游戏架构

發布時間:2025/6/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏开发随想之2D游戏架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

游戲開發中的幾個要素

??一、游戲首要的要素便是角色,如果將角色歸納為一個MVC架構的話:

??????? 1、模型便是角色的位置信息,屬性之類的。

????????2、視圖則是一些圖片集合,有規則的組合它們,將它們分成若干組,那么每一組就是一個動作。每個組有若干張圖片,一般的它們通過時間來決定應該怎樣呈現這個視圖(亦即顯示哪張圖片)。可以設置動作,讓這個視圖有不同的行為。一般的,我們稱這個視圖為精靈(Sprite),精靈將在另一篇文章中描述。

????????3、控制器就是用來設置角色動作的。它有可能是對精靈的一個簡單的代理,假如控制器設置角色狀態為行走,那么可能控制器只是簡單的調用了精靈的setAction(ActionRun)方法,并且有精靈自己去設置速度。???? 當然也可以這樣去實現控制器,一方面它通過代理設置精靈的動作,同時也去修改對象的物理屬性。控制器可能由玩家來操作,也有可能由NPC的A.I.進行操作,也有可能來自網絡。

? 二、接下去比較重要的便是地圖模塊。對于地圖,目前只把它當成一個MV結構。

??????? 1、模型層:地圖一般有各種碰撞線或者每個塊有不同的狀態(比如能否通過該塊),所以這些狀態都應該保存在地圖的模型中。

????????2、視圖層:地圖一般通過外部的編輯工具來設計的。一般的,地圖很少在游戲過程中變動,所以將它直接保存在內存中的一張圖片中。對于地圖怎么創建的,將在另一篇文章描述。

? 三、物理引擎。

????????物理引擎一般對對象進行碰撞檢測,以及改變對象的運動狀態。對于一些簡單的游戲,只要設計簡單的物理引擎就可以了。對于對物理效果要求比較高的游戲,最好套用現成的比較成熟的引擎。

? 四、用戶界面元素。

??????? 這個模塊提供各種窗口,按鈕來供交互。

? 五、游戲的“Holder ”:

??????? 它是游戲的持有者,它持有幾乎所用的游戲對象,它維護游戲的正常運作。它與資源管理器協同完成游戲對象(比如窗口,角色,地圖)的創建,以及釋放資源。它定時驅動渲染線程,解析角色的動作,我這里它組合有物理引擎。

? 六、游戲的資源管理器。

?????????游戲運行過程中需要大量的圖片相關的資源。而且很多游戲中,一個相同造型的角色會有好幾份拷貝,如果沒有進行良好的設計的話,這些角色就會持有不同的圖片資源的拷貝。因此特意設計了資源管理器,GameHolder創建對象時,都會向資源管理器申請資源,如果該資源已經加載到內存中了,就會返回資源的引用;如果沒有,就會載入該資源。

轉載于:https://blog.51cto.com/mooncity/1001833

總結

以上是生活随笔為你收集整理的游戏开发随想之2D游戏架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。