UNET連線遊戲(九){美化遊戲選單與流程}

本篇使用的是5.3版後有UNET的UNITY
目標:重製連線UI

1.延續前篇(UNET連線遊戲(八){鬼抓人})
現在我們要用UNET重新實作連線介面
unet-hit-1312.首先拿原來布置好的場景複製一份(製成Prefab用來當背景),開新場景命名為StartScene後置入場景檔以及攝影機
unet-hit-1323.新建UI命名為Menu,為了方便排版在子階層先加入一個Panel再建立兩個按鈕跟一個輸入欄位
unet-hit-133並且命名如圖,一個用來開啟HOST,一個用來加入遊戲以及要加入的HOST端IP位置

4.在Panel加上Layout的Component,設定如圖讓按鈕寬400高100間距20,左上對齊,直式排列,完全置中,如此裡面的按鈕就會乖乖排列整齊
unet-hit-134

5.這場景依然需要一個NetworkManager,不過這次我們來客製化自己的功能,一樣用空物件命名並且加入一支新的程式NetworkUI.cs撰寫裡面的內容如下

由於自訂UI和要使用Network所以using他們但比較不同的是class這次繼承NetworkManager,並且建立新的HOST和JOIN方法,StartupHost()和JoinGame()宣告為public,稍後指定給UI按鈕用,設定port和ip位置的功能也加入其中,IP位置則是用輸入框的名子找到框內對應的文字來使用

6.然後依照之前的設定將繼承來的功能參數設定好
unet-hit-135唯一不同之處是offline和online場景分別加入這個選單場景和之前我們做的遊戲場景,前提是這兩個場景有在Bulid列表中才可以
unet-hit-136

7.接下來設定按鈕HOST和JOIN的ONCLICK
unet-hit-137unet-hit-138觸發我們剛剛寫的對應功能,如此這個場景就完成了

8.接下來一個小動作就是切換到我們的遊戲場景刪除原來的NetworkManager (就是官方的那隻,有醜醜陽春UI的版本),因為我們後來加上了offline和online場景所以這個NetworkManager會被帶過去

1481831913584

9.這樣就達到我們美化UI的目的了!!

Leave a Reply