2016年12月14日 星期三

[Unity教學] 2D連線小遊戲製作 Part.1

前言:
unity在5.x以後使用了的新的網路連線方法

為了解說方便,製作一個遊戲名叫 搶奪20 / Rob20 的連線小遊戲

規則:
兩個人輪流喊1~2個數字,先搶到20的人勝利

本篇分成2個部分:

 1. 創建一個新專案
 2. 新增網路管理功能元件



創建一個新專案


開新的一個專案
1.名稱為Rob20
2.選擇2D
3.Enable unity Analytics 為 ON ,開啟的話連線功能會比較完整
4.開啟後儲存場景,名稱為play


把背景調成白色


接著要拉出處畫面的位置,也就是顯示數字的地方
1.新增一個UI > Text
2.重新命名為txtMunber
3.調整 Anchors  min 為0.3
4.調整文字對齊
5.把Best Fit打勾,讓它依照視窗大小自動調整文字大小


接著要拉出顯示系統訊息的地方
1.新增一個UI > Text
2.重新命名為txtSysMsg
3.選擇對其Canvas上方並調整位置
4.把Best Fit打勾,讓它依照視窗大小自動調整文字大小
5.可以先打一些字看一下效果


接下來要製作按鈕
1.先新增一個UI > Panel當作按鈕的區域
2.重新命名為pnlBtn
3.調整 Anchors Max的Y為0.3,讓他剛好在數字區塊的下方
4.按下Add Component 加上元件  Layout > Horizontal Layout Group,這個元件可以讓按鈕自動往水平方向排列整齊


製作兩個按鈕,給玩家喊數字用
1.在pnlBtn下新增兩個個UI  >  Button
2.分別重新命名為btn1、btn2
3.修改按鈕文字一個的文字為+1、一個的文字為+2


遊戲基本的操作介面到這個步驟已建立完成!!


新增網路功能管理元件(Networking component)


接著進入很重要的部分
unity有好用的元件已經把連線的功能寫好了 只要掛載上去就能使用,叫做Network Managerment

1.首先新增一個空的GameObject
2.重新命名為NetworkMng
3.Add Component 找到 Network > Network Managerment
4.Add Component 找到 Network > Network Managerment HUD

到這裡已經完成連線功能囉~沒錯!就是這麼簡單!
那麼來看看效果先執行

可以看到出現了一些按鈕
LAN表示是區域網路的意思

作為Server端可以選擇Server Only或是Host,基本上都選Host,概念上就是Server只是房主 但不會參與遊戲,Host就是既是房主又可以參與遊戲

Client就是作為玩家連線到Server,目前是連線到localhost就是本機端

每個功能的連線狀況
那麼可以實際試試看連線的狀況囉~
先編譯成exe檔,開兩個來執行看看
一個選擇Host,另一個Client
如果Client連線成功就會出現address=localhost port=7777的字喔~

本篇到這邊先結束

下一篇會講如何建立基本的連線架構~

感謝大家的觀看!

沒有留言:

張貼留言