1. 程式人生 > >【UE4學習記錄】UE4網路方面的探索0-1

【UE4學習記錄】UE4網路方面的探索0-1

2016.8.2.

       在UE4主介面的設定上其實注意一下小細節就好。是關於服務端,客戶端的一些功能:在播放展開箭頭下,選擇新建編輯器視窗,這樣方便檢視服務端視窗和客戶端視窗,在下面的玩家數量修改為2,一般播放就能出現兩個執行視窗了。

    關於UI的建立:在UI資料夾下右鍵使用者介面-控制元件藍圖(widget blueprint).習慣命名為選單UI之類的命名,雙擊開啟本藍圖。

                                  拖動左邊的各個元件到中間的檢視操作介面,自行調整就好。


編譯-儲存。再開啟關卡藍圖。開啟關藍圖是幹嘛呢?當然是為了我們的UI可以執行,通過新增事件等等吧啦吧啦一大推玩意實現,看下圖!!


灰常簡單的內容,實現UI顯示。當然這只是鳳毛麟角。

接下來是UI的一些修改


備註:如果播放顯示按鈕介面等不正常的話,

開啟UI編輯介面,選中要調節的元件,右邊會顯示錨點,選擇對應的位置即可解決顯示不正常的問題!

再進入關卡藍圖,為我們播放專案時候新增自己的滑鼠,用來輸入文字等進行對話


但是應該要注意到,其實我們剛剛新增的按鈕是點選無反應的狀態。

原因很簡單:只要再進入UI編輯器裡,把其他元件設定一下對應的錨點就可以了,然後滑鼠放上按鈕會顯示一下凹凸的變化,說明沒有被其他元件擋住,正常點選。

對於Button,應該很多人注意到,UE4直接輸入中文會很蛋疼0.0,各種毛病都會在後面出現,那麼我們說一個小技巧,在文字文件中事先寫好文字,複製進去,反而在後期製作中,會相應減少很多關於語言問題的出現率。

那麼還是漏了一個小細節,就是Button新增後,Button上的字需要自己再新增TEXT到Button上,這樣才能在右邊找到Content,裡面才能輸入文字!

我把倆Button叫做伺服器的連線和取名字。

那麼,伺服器連線,要連線到哪呢,肯定連線伺服器呀,輸入指定伺服器地址進行建立連線,大概這個思路。

於是就要新建兩個個UI藍圖,我叫做IntServerUI和NameUI這樣好理解。

開啟連線伺服器那個UI,就是IntServerUI,在裡面建立一些必要的元件,如,TEXT,BUTTON之類,我的介面如下


細心的人總會發現,TEXT裡面的例項字樣很小,或者想新增例項字樣怎麼辦,選中這個TEXT,右邊有個HIT TEXT就是示例字,展開STYLE,可以找到Font字樣,後面預設數字一般是9,這兒我們改為50.當然你的不需要那麼大,可以隨你修改到適合為止。

PS:記住修改錨點,不然依舊會出現新出現的這個伺服器UI顯示位置偏移的現象!!活學活用呀。

我們之前的那個連線伺服器是點選後要出現這個才行,不然怎麼連線伺服器呀,那麼就是說呼叫這個UI嘍。

這個步驟其實可以簡化,不需要自己折騰,選擇之前那個連線伺服器的按鈕,右邊有個EVENT或者事件,點選新增事件(具體名字叫做Add OnClicked)自動跳轉到藍圖,還是和之前寫藍圖一樣,建立個使用者控制元件(英文名:輸入Widget會出現的使用者控制元件,找不到?看下圖


其實嘛,這個步驟走下來,你會發現,你連多個UI之間的切換都學會了,多了一個小技能,你可以在你的專案裡使用這個方法。

我們接著看,之前我們做的那個連線到伺服器的UI有個取消按鈕,那麼如何實現取消後,退出這個UI呢,或者說遊戲介面這個UI消失掉,怎麼實現,SO簡單

點選那個取消按鈕(怎麼到你的取消按鈕?開啟那個啥UI唄)依舊是點選右邊的Event裡的OnClicked。

在跳轉到藍圖後,我們需要做的就是右鍵新增remove from parent這個元件,然後,然後藍圖編輯over了。就是那麼簡單。

對照下圖看看你是不是remove parent了


那麼好學的人總是想知道確定按鈕用來幹嘛呢?問題回答的好,因為自問自答,這確定是鍵入去伺服器上的,是client和server之間的資料傳輸事情了。

確定按鈕實現正確連線後,就是client傳送資料給server了。天真的我自然把這個確定按鈕當作擺設了,因為我們目前還停留在UI各種設定介面。

伺服器那邊的事情,我們慢慢來做,確定按鈕,你就先呆著好了。

至於NameUI的編寫,怎麼簡單怎麼來,那好。和IntServerUI一樣好了。PS:介面差不多就行了、

當然,別忘了錨點設定,第一個UI跳轉到這個UI的設定,這些很簡單,不會的,滾輪滾上去look look就好啦,溫故而知新,可以為師矣。

要注意一點,確定按鈕在後面的操作中是要具體實現的,目前雖然不做,但是不要拋棄他,於是我們在確定按鈕藍圖中做個小修改!看圖


那麼我們給專案的UI介面的一些設定就到這裡結束了,接下來我們做的是對UI的按鈕,UI的功能做進一步的實現。