[UE4]一分鍾實現聊天系統


 

天系統:客戶端發消息到服務器端,服務器端把收到的消息廣播到所有客戶端。

由於聊天對象需要支持“可復制”和每個客戶端都發給一個,所以GameInstance、GameModeGameState都不適合存放用來做聊天系統。

一、PlayerController可以為聊天系統,只不過稍微有點復雜

二、PlayerState,比較適合做聊天系統。創建一個繼承自PlayerState的子類,然后關卡中設置:

 

使用get Player State獲得PlayerState對象,並使用Cast to 轉換成自定義的Player State對象,就可以使用自定義Player State對象的屬性和方法了。

三、Pawn/Character,可以作為聊天系統,但是如果控制的角色死亡了,轉移到觀察者角色就無法進行聊天了,除非每個觀察者角色也重復實現一套聊天系統。

 

知識點:

1.客戶端發消息到服務器端,服務器端把收到的消息廣播到所有客戶端。

2.使用Set Keyboard Focus來讓聊天輸入框獲得鍵盤輸入焦點

 

 

 

 

設計UserWidget的時候,可以給UserWidget添加輸入參數:Instance Editable和Expose On Spawn這2個選項加上,這樣在調用Create UserWidget函數的時候就會把這個變量作為參數輸入:

 如果Create Widget沒有把輸入參數顯示出來,可以在Class中重新選擇一下Chat Message就可以了。

 

使用函數Is Dedicated Server判斷當前執行的是否是專用服務器端,並且在專用服務器上不用創建UI,因為專用服務器本就是沒有游戲界面的。

 

設置鼠標是否可見和設置游戲輸入模式是要通過獲得Player Controller對象中調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM