在同步UMG的時候遇到的問題,反而解決了一個一直以來的疑問----在其所屬的客戶端上運行服務器
在擁有這個變量的Actor中執行spa
去修改Widget中的Text,咱們已經讓Text顯示在屏幕上了,並綁定了Text這個變量.net
兩人遊戲中,NewPlayerController一共有三個,服務器上兩個,客戶端一個(解釋點擊跳轉),而服務器上的是沒有必要去渲染UI的,因此咱們要在本地的NewPlayerController中去渲染UI。blog
在本地的NewPlayerController中建立Widget遊戲
PS:能夠這麼認爲服務器的NewPlayerController便是本地,是權威的,由於服務器上的NewPlayerController就存在服務器裏,並且只有一個事件
儲存服務器上的兩個PlayerController(兩個權威版的PlayerController)get
按下「Q」去呼叫GameMode的事件同步
歷遍全部的PlayerController,轉化爲咱們兩個NewPlayerController,這裏須要注意兩點變量
一般來講,這樣已經能夠更新Widget的Text這個變量了。可是由於咱們的Widget都是在本地建立的,因此客戶端的權威版/服務器上的NewPlayerController是沒有建立Widget,這樣運行不但不會獲得預期的效果,並且還會報錯,因此咱們得修改一下Update這個事件。渲染
將update事件改成在其所屬的客戶端上運行
意思就是哪一個NewPlayerController擁有Widget這個變量,就轉換爲哪一個NewPlayerController。很明顯,客戶端的只有本地的NewPlayerController纔有Widget這個變量,因此就轉換爲本地的NewPlayerController,並修改了Widget的Text變量。