如何製作一個隨機顯示文字的物體

功能效果展示

 

運行環境

Win7,Win8,Win10

Reworld版本 體驗版

vc_redist.x64 運行環境

 

針對零基礎讀者的補充

下載安裝 Reworld對應版本

Reworld官網鏈接http://www.reworlder.com/

Reworld創作者之家論壇:http://bbs.reworlder.com

下載後安裝後註冊賬號打開空地圖

下載安裝 vc_redist.x64.rar運行環境

redist.x64下載鏈接

 

思路分析

想要製作一個隨機顯示文字的物體,首先我們需要將顯示的文本存儲在一個表中,然後在2D容器界面中以文本控件的形式顯示出來。因此我們需要在顯示文字的物體下創建一個服務器腳本,在文本控件下創建一個客戶端腳本,當觸發某一個事件後,利用服務器與客戶端之間的通信,就可以將文本顯示在界面裏了。

 

功能搭建

一、零件搭建過程

1.在工作區內創建一個零件,重命名爲隨機,在零件下創建一個服務器腳本。如下圖所示:

編寫服務器腳本如下:

math.randomseed(tostring(os.time()):reverse():sub(1, 7))
  
myinfo={}
myinfo[1]="你真帥"
myinfo[2]="你最美"
myinfo[3]="噢噢噢"
myinfo[4]="機器人"
myinfo[5]="代碼乾坤發來賀電"
myinfo[6]="氪星發來賀電"
myinfo[7]="多喝熱水"
myinfo[8]="喜歡你哦"
myinfo[9]="巴啦啦小魔仙"
myinfo[10]="雨女無瓜"
  
local a = script.Parent
a.CollisionEnter:Connect(function(res)
    if res:IsClass("Avatar")
    then
        local num1 = math.random(1,10)
        print(myinfo[1])
        MessageEvent.FireClient(res.PlayerId, "display",myinfo[num1])
    end
end)

 

二、文字顯示UI搭建過程

1.在界面初始化下創建一個2D容器界面,在2D容器界面下創建一個文本控件,修改文本控件的大小和位置。如下圖所示:

2.在文本控件下創建一個客戶端腳本。如下圖所示:

編寫客戶端腳本如下:

MessageEvent.ClientEventCallBack("display"):Connect(function(info)
    script.Parent.Parent.IsVisable = true
    script.Parent.Text = info
end)

 

補充說明

1.什麼是2D容器界面?

2D容器界面是顯示在玩家屏幕上的2DUI對象的主要存儲對象。UI對象若要顯示在編輯器中,必須作爲容器控件的子級。

遊戲運行後,存放在界面初始化StarterUI下的界面會複製到玩家界面下,只有在玩家界面GameUI下的界面才能在遊戲中顯示。

 

2.什麼是文本控件?

文本控件顯示非交互文本,經常用於標題或者標籤使用。

 

3.什麼是客戶端腳本?

只會在客戶端執行的腳本,執行的邏輯和表現也只會在本地客戶端展現;可在以下幾個文件目錄下自動執行,客戶端腳本在“工作區”下不會自動執行,需要放在以下對象裏面:
1. 客戶端最先加載 。
2. 工作區中的角色模型玩家初始化中的角色初始化腳本,在運行後會自動移動到角色模型下。
3. 玩家列表中的玩家玩家初始化中的玩家初始化腳本,在運行後會自動移動到玩家下
4. 玩家玩家界面界面初始化的腳本,在運行後會自動移動到玩家界面下。
5. 玩家的揹包,例如工具裏面的。

 

4.什麼是服務器腳本?

只會在服務器運行的Lua腳本代碼,用於編寫服務器邏輯。

 

好了,接下來我們開始遊戲,當我們控制的角色每次觸碰到零件時,都會隨機顯示文字。如果有什麼問題或者有更好的實現方式,大家可以在下方積極交流討論,我們也會參與進來和大家一起分享經驗,期望能和大家共同進步~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章