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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

游戏UI系统设计

發布時間:2023/12/10 windows 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏UI系统设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.需要實現的功能

  • UI界面的管理(窗體加載、窗體顯示、窗體隱藏、窗體銷毀等)
  • UI分層次(比如彈窗、廣播信息需要在上層)
  • UI界面的出場、入場動畫
  • UI界面的顯示效果(比如帶透明背景、帶高斯模糊背景等)
  • UI可以動態更新

2.程序方面設計

  • UI需要MVC分離
  • UI與其它模塊交互信息需要低耦合

3.具體怎么做

  可以知道的是,首先UI界面的設計需要采用MVC模式,將界面的顯示獨立出來,這一塊需要繼承MonoBehaviour,以便掛載到UIPrefab上。

  View:

  1.只做數據的展示,而不做數據的處理。

  2.只接受controller的事件,對于其他外部的事件一概交由controller處理。

  3.按鈕的響應回調,建議也放到controller里面去處理。

  4.view的創建,也交到controller里面處理。

  Controller:

  1.接受外部的數據、事件并且做好處理,然后存入對應的數據層,同時通知view層做顯示。

  2.controller與view之間的交互,最好采用事件通知,而不是直接的調用。

  3.對于data層,可以在controller直接寫,也可以獨立出來。

?

  上面說的MVC分離,針對的是單個的界面而言,比如排行榜界面,郵件界面等,那么整體的又該如何來管理呢?

?

UI界面的管理

  對于UI界面管理,其實需要做這些事情:

  1. 明確UI的層級,這個在最開始的時候就要設計好,按照功能來講,一般游戲都有的,最低層級的背景,然后是正常UI內容,然后是各種彈窗,然后最上層可能是系統通知一類,

  那么假設現在有背景、正常UI內容、彈窗、系統通知,那么我們在做的時候就應該設定好這四層,并且每一層的層次都是依次遞增的,不然的話顯示就會不正確。

?

  2. UI的資源加載,一般來說,是將一個個UI分模塊制作成為預制體,然后在需要用的時候,通過資源加載,然后將其實例化顯示,在這個過程中,我們按照上面提到的,那么應該先

  創建每一個UI界面的Controller,然后在需要的時候,通過controller來顯示對應的View。但是在這個過程中,有些界面不是很常用,可能偶爾用一次,就不用了,那么這個時候就會

  涉及到如何來管理這些加載進來的資源,對于這種不常用的窗體來說,顯示完后,就應該把他給銷毀了(節省內存),而對一些常用的,可能就需要保存引用,避免頻繁加載資源帶來的

  IO問題。

UI顯示效果

  ?對于UI帶有特殊效果的,比如有進場、出場動畫,彈窗有黑色半透明背景,或者帶有高斯模糊背景的彈窗,這些效果應該如何處理。

  通常的做法是給每一個UI進行分類,比如有出場動畫、入場動畫的是一類,沒有任何動畫的是一類,有背景的是一類,有高斯模糊的是一類,然后在寫所有UI類的父類的時候,在父類里面寫Enter,Exit等

  狀態方法,在這些方法中調用一些對應的顯示方法,這些顯示方法則是根據UI分類不同而不同,這樣就統一做出了UI顯示效果,而不用每一個UI都去寫一遍,當然,可能某一個UI有不同的顯示動畫,這個

  時候,可以覆寫父類的動畫方法,這樣就OK了。

UI與其它模塊交互

  要降低耦合,那就使用事件通知,避免直接調用,一般來說這是個簡單但是卻非常有效的方法。

轉載于:https://www.cnblogs.com/leiGameDesigner/p/8650110.html

總結

以上是生活随笔為你收集整理的游戏UI系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。

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