簡單的一鍵衝刺

功能效果展示

 

運行環境

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.在開關按鈕下創建一個客戶端腳本。如下圖所示:

編寫客戶端腳本如下:

script.Parent.GuiMouseLeftDown:Connect(function()--按下事件
MessageEvent.FireServer("1")--給服務器發送消息“1”
end)
script.Parent.GuiMouseLeftUp:Connect(function()--擡起事件
MessageEvent.FireServer("2")--給服務器發送消息“2”
end)

2.在服務器邏輯下創建一個服務器腳本。如下圖所示:

編寫服務器腳本如下:

MessageEvent.ServerEventCallBack("1"):Connect(function(id)--接收消息“1”
local player = Players:GetPlayerByUserId(id)
player.Avatar.MoveSpeed = 20--更改角色速度
end)
MessageEvent.ServerEventCallBack("2"):Connect(function(id)--接收消息“2”
local player = Players:GetPlayerByUserId(id)
player.Avatar.MoveSpeed = 4--更改角色速度
end)

 

補充說明

1.什麼是界面初始化?

存放客戶端界面,不放置在此服務下的界面需要自行設置顯示到客戶端。服務對象。 

用於管理和設置默認角色的屬性。

不可創建。  

不能用RWObject.Create()函數創建此對象。

不可刪除。 

不能用Destroy()函數刪除此對象。

不可複製。 

不能用Clone()函數複製此對象。

 

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

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

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

 

3.什麼是按鈕控件?

按鈕控件用於響應來自用戶的事件,經常用於啓動或者確認某項操作使用。

 

4.什麼是客戶端腳本?

只會在客戶端執行的腳本,執行的邏輯和表現也只會在本地客戶端展現;可在以下幾個文件目錄下自動執行,客戶端腳本在工作區下不會自動執行,需要放在以下對象裏面: 

1. 客戶端最先加載 。
2. 工作區中的角色模型玩家初始化中的角色初始化腳本,在運行後會自動移動到角色模型下。 
3. 玩家列表中的玩家玩家初始化中的玩家初始化腳本,在運行後會自動移動到玩家下 
4. 玩家玩家界面界面初始化的腳本,在運行後會自動移動到玩家界面下。 
5. 玩家的揹包,例如工具裏面的。

 

5.什麼是服務器腳本?

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

 

好了,接下來我們開始遊戲,在奔跑的同時按下衝刺按鈕我們就會加速,從按鈕上擡起時就會恢復到原來的速度啦。如果有什麼問題或者有更好的實現方式,大家可以在下方積極交流討論,我們也會參與進來和大家一起分享經驗,期望能和大家共同進步~~

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