1. 程式人生 > >基於元件方式的遊戲UI架構設計

基於元件方式的遊戲UI架構設計

     能夠像生產汽車那樣,將各個部件組裝起來就能造出一輛汽車,在軟體開發領域一直是個夢想。元件開發思想的出現,讓我們離這個夢想更近了一步。元件,意味著高內聚、高複用,我們只需瞭解其外部介面規格,就能使用其功能,無需知道其內部如何實現及運作。
在遊戲開發中,UI管理是一個比較麻煩的問題,特別是針對那種需要根據不同場景切換不同UI的遊戲,UI的組織和管理尤顯重要,能不能像將各個UI(比如:聊天視窗、系統介面)作為一系列的元件來管理呢?下面是筆者在實際開發中採用的一種方案:
   
    根據UI元件的一般劃分粒度,將所有UIObject物件在GUISystem初始化時全部生成並放入_uiMap,是合理的,因為這裡還沒有對每個 UIObject呼叫InitUI,只是簡單的new,完成這些只需要極少時間。LoadCurUI能夠讓我們只需傳入一個場景id號,就可以載入對應的 UI,為了靈活方便,可以將場景id與其對應的UI元件名放在配置檔案中。
    所有UI元件都必須從UIObject繼承而來,其中包含了一個指向具體實現視窗功能的Window物件的指標。這樣一個UI類就相當於一個 Window的Wrapper類,以便GUISystem統一管理。對於UI元件之間的互動,通過GUISystem作為中間層,彼此解除了較強的耦合。
    在下一篇文章中,我將介紹如何利用CEGUI+Lua實現這種設計方案。 

相關推薦

基於元件方式遊戲UI架構設計

     能夠像生產汽車那樣,將各個部件組裝起來就能造出一輛汽車,在軟體開發領域一直是個夢想。元件開發思想的出現,讓我們離這個夢想更近了一步。元件,意味著高內聚、高複用,我們只需瞭解其外部介面規格,就能使用其功能,無需知道其內部如何實現及運作。在遊戲開發中,UI管理是一個比較

遊戲UI框架設計(一) : 架構設計理論篇

遊戲UI框架設計(一) ---架構設計理論篇   前幾天(2017年2月)看到一篇文章,國內王健林、馬雲等大咖們看好的未來十大最有“錢途”產業中,排名第一的就是“泛娛樂”。 所以我們發現最近幾年無論是BAT企業還是萬達等,都紛紛投資遊戲、電影、動漫等泛娛樂產業。

遊戲UI框架設計(五): 配置管理與應用

oid per b- 測試 中心 序列化對象 ner stun sage 遊戲UI框架設計(五) --配置管理與應用 在開發企業級遊戲/VR/AR產品時候,我們總是希望可以總結出一些通用的技術體系,框架結構等,為簡化我們的開發起到“四兩撥千金”的作用。所謂“配

遊戲UI框架設計(五): 配置管理與應用

unity界面框架 unityui框架 ui框架配置 unity配置管理 遊戲UI框架設計(五)--配置管理與應用 在開發企業級遊戲/VR/AR產品時候,我們總是希望可以總結出一些通用的技術體系,框架結構等,為簡化我們的開發起到“四兩撥千金”的作用。所謂“配置管理”是指一個遊戲項目(軟件項

遊戲UI框架設計(7): 資源國際化技術

我們 客戶 value json 查詢 ons bug emp pty 遊戲UI框架設計(7) --資源國際化技術 說起“資源國際化”技術,個人認為可以追述到微軟Window2000 PC操作系統的發布,在這之前windows98操作系統的開發都是先由美國

元件化解耦的架構設計思考

目錄 元件化 一個需求引發的思考 業務與實現分離 為啥要這麼做呢? 元件之間的通訊 小結 元件化 最近幾天在整理專案中的要點,元件化相信大家都不陌生,還是複用以前的一張專案架構圖,可以看到,專案的架構目前看起來比較清晰了,在最下層沉

基於Maven的SSM總體架構設計(一)

基於Maven的SSM總體架構設計(一) 1 概述 1.1 編寫目的 1.2 讀者物件 1.3 引用檔案 1.4 術語表 2 相關技術介紹 2.1 Spring框架介紹 2.1.1

基於Maven的SSM總體架構設計(二)

3 總體設計 3.1 約定 3.1.1 基於Maven的工程結構         為了便於本團隊對新建Java專案的工程結構及依賴庫(jar)的版本統一,降低團隊成員之間的溝通成本,減少因依賴庫版本不一致導致的異常,我們約定建立標準的Maven工程。即在MyE

網路遊戲伺服器架構設計

入手 假如,我現在接手一個新專案,我的身份還是主程式。在下屬人員一一到位之前,在和製作人以及主策劃充分溝通後,我需要先獨自思考以下問題: 1、伺服器跑在什麼樣的作業系統環境下? 2、採用哪幾種語言開發?主要是什麼? 3、伺服器和客戶端以什麼樣的介面通訊? 4、採用哪些第三方的類庫? 除了技術背景之外,考慮

大型多人線上遊戲伺服器架構設計

由於大型多人線上遊戲伺服器理論上需要支援無限多的玩家,所以對伺服器端是一個非常大的考驗。伺服器必須是安全的,可維護性高的,可伸縮性高的,可負載均衡的,支援高併發請求的。面對這些需求,我們在設計伺服器的時候就需要慎重考慮,特別是架構的設計,如果前期設計不好,最後面臨的很可能是重

棋牌遊戲伺服器架構設計

一,棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。 2,房間模式 即在同一局遊戲中就是在同一個房間中,同一個房間中的人可以接收到其他人的訊息。 3,每個房間的操作必須是

基於SpringCloud的微服務架構設計

大家好,今天分享的是我最近在公司剛實現的一套微服務架構,用作於公司基礎性服務(例如搜尋,Passport Server,分散式任務排程系統等) 以下是整體架構 可以看出,可以分為7個模組,整體是分層架構 反向代理層 閘道器層 服務層 儲存層 服務治理中心

Unity3D:NGUI 深入剖析NGUI的遊戲UI架構

轉自:http://www.manew.com/blog-97-238.html  unity3d-NGUI分析,使用NGUI做UI需要注意的幾個要點在此我想羅列一下,對我在U3D上做UI的一些總結,最後解剖一下NGUI的原始碼,它是如果架構和運作的。     在

百萬使用者級遊戲伺服器架構設計(二)

登入服的設計 -- 功能需求   正如我們在前面曾討論過的,登入服要實現的功能相當簡單,就是帳號驗證。為了便於描述,我們暫不引入那些討論過的優化手段,先以最簡單的方式實現,另外也將基本以mangos的程式碼作為參考來進行描述。   想象一下帳號驗證的實現方法,最容易

遊戲UI框架設計(二)

1 public class UIManager : MonoBehaviour { 2 /* 欄位 */ 3 private static UIManager _Instance = null; 4 //UI窗體預設路徑(引數1:窗體預設名稱

基於滴滴雲的棋牌遊戲服務端架構設計

現在小團隊開發的棋牌遊戲有很多,棋牌行業的相互攻擊是非常普遍的現象,同行之間往往會採取 DDOS、CC 等攻擊的手段來打擊對手,這是目前棋牌運營商們面臨的比較嚴峻的一個問題,那麼在設計棋牌遊戲服務端架構時就需要考慮高可用和抗攻擊這兩個特性,本文詳細介紹瞭如何基於滴滴雲現有的產品組合來設計一套

棋牌遊戲服務器架構設計

實時更新 取整 所在 存在 順序執行 思想 業務邏輯 請求 分區 轉載自:簡書一位同行的文章 一,棋牌類服務器的特點 1,棋牌類不分區不分服 一般來說,棋牌遊戲都是不分區不分服的。所以棋牌類服務器要滿足隨著用戶量的增加而擴展的需要。 2,房間模式 即在同一局遊戲中就是在

Java EE 架構設計——基於okhttp3 的網絡框架設計

知識 tap 使用 pass web asc 封裝 useragent 占用 轉載請註明出處:http://blog.csdn.net/smartbetter/article/details/77893903 本篇文章帶大家設計一套滿意業務需求、代碼健壯高效(高內聚低耦

淺談基於Prism的軟件系統的架構設計

then idata items main.c 說明 sop open send 全局   很早就想寫這麽一篇文章來對近幾年使用Prism框架來設計軟件來做一次深入的分析了,但直到最近才開始整理,說到軟件系統的設計這裏面有太多的學問,只有經過大量的探索才能夠設計出好的軟件產

【總結】遊戲框架與架構設計(Unity為例)

單機 業務 github 事件 概念 lec 集合 架構模式 wid 使用框架開發遊戲 優點:耦合性低,重用性高,部署快,可維護性高,方便管理。提高開發效率,降低開發難度 缺點:增加了系統結構和實現的復雜性,需要額外花費精力維護,不適合小型程序,易影響運行效率 常見