1. 程式人生 > >unity 簡單通用遊戲模式設計

unity 簡單通用遊戲模式設計

play 多個 變量 ner 動手 需要 一個數 玩法 遊戲場景

好吧好吧,又談到這個問題了,其實早就想寫這個博客了,猶豫了好久。在設計遊戲的時候我本人是很排斥什麽遊戲架構設計,mvc什麽的,我只想馬上動手就把自己的遊戲玩法最快的用代碼敲出來,還不會出無法挽回的錯誤,那麽下面的步驟可以幫助你構建一個簡單的遊戲模式架構。

一。首先是數據存儲類,如GameManager,UIManager,SoundManager等這些類,這些類是不銷毀的,由於這些類為物體組件,用普通的單例模式容易出現實例化的沖突,因此可以首先加載一個數據場景,間隔一段時間後加載第二個正式場景,以後最多的返回也只能返回到第二場景,這樣就解決了沖突問題

二。分場景控制類,每個場景中有可能要進行不同的復雜的控制,比如播放個動畫,選擇角色什麽的。比如UI場景,該場景中主要以UI功能為主,設置音量,選擇角色什麽的,都在該場景中進行,因此可以用個UIScene類的做一些特殊的控制;正式遊戲場景,比如在UI場景選擇好了敵人,那麽現在進入正式打擊敵人,冒險什麽的,可以建立一個PlayScene場景,該場景用來控制播放個動畫次序什麽的各種操作。

三。通用類的作用,比如UI控制中物體的隱藏與出現,跳轉到另一個場景的操作,銷毀物體的操作這些可以用一個GeneralController的集成這些函數,然後作為組件的形式添加到需要的分場景的場景控制的物體上,這一點尤其對UGUI的添加事件很有效。

四。觀察者類與數據存儲類的靜態變量。比如遊戲加載後要把當前的語言或者音量設置到相關物體上,那麽尋找攜帶這些數據的Manange類的方式有自帶的Find相關類,或者使用數據存儲類的instance靜態變量,判斷該靜態變量是否為真,如果為真,那麽就說明該類的物體存在,直接調用該靜態變量獲取到相關需要的數據。

五。為多個物體設置數據。這裏涉及到在場景中尋找具有相同標簽或者擁有相同組件的物體,這裏最好的方式是為每個相同組件的物體添加一個觀察者組件,該組件用於當物體生成時,調用相關的管理類,將自己存放到管理類的存儲列表中,這樣管理類就不用在場景中去尋找這些物體了。

六。對象池。這裏並非這篇博客主要內容,只是做個提醒,因為拋開性能問題,上面的的五條對一般遊戲來說足夠了。對一些長期生成的物體如子彈等最好做成一個對象池,從而提高機器性能。

unity 簡單通用遊戲模式設計