功能效果展示
運行環境
Win7,Win8,Win10
Reworld版本 體驗版
vc_redist.x64 運行環境
針對零基礎讀者的補充
下載安裝 Reworld對應版本
Reworld官網鏈接:http://www.reworlder.com/
Reworld創作者之家論壇:http://bbs.reworlder.com
下載後安裝後註冊賬號打開空地圖
下載安裝 vc_redist.x64.rar運行環境
思路分析
想要實現一個蓄力跳躍的功能,我們就需要獲取到玩家點擊蓄力跳躍按鈕的時間,然後根據這個時間來修改玩家的跳躍速度。因此我們首先需要創建一個蓄力跳躍的UI,通過客戶端腳本來實現這個功能。
功能搭建
一、蓄力跳按鈕搭建過程
1.首先我們需要在界面初始化裏創建一個2D容器界面,重命名爲jump。如下圖所示:
2.在2D容器界面下創建一個圖像控件,然後導入一張跳躍的技能圖片,修改大小和位置。如下圖所示:
二、蓄力跳功能搭建過程
在2D容器界面下創建一個客戶端腳本。如下圖所示:
編寫客戶端腳本如下:
local uipanel = script.Parent
local clickTime = 0 --點擊蓄力跳按鈕的時間
local person = Players:GetLocalPlayer() --獲取玩家
uipanel.GuiMouseLeftDown:Connect(function(x,y) -- 點擊蓄力按鈕
clickTime = Time.time
end)
uipanel.GuiMouseLeftUp:Connect(function(x,y) -- 鬆開蓄力按鈕
local intervalTime = Time.time - clickTime --點擊鬆開時間差
person.Avatar.JumpSpeed = person.Avatar.JumpSpeed + intervalTime * 10 --根據按下鬆開的時間差增加跳躍速度
person.Avatar:Jump() --人物跳躍
coroutine.start(function() --將人物跳躍速度改成默認
coroutine.wait(0.1)
person.Avatar.JumpSpeed = 14
end)
end)
補充說明
1.什麼是2D容器界面?
2D容器界面是顯示在玩家屏幕上的2DUI對象的主要存儲對象。UI對象若要顯示在編輯器中,必須作爲容器控件的子級。
遊戲運行後,存放在界面初始化StarterUI下的界面會複製到玩家界面下,只有在玩家界面GameUI下的界面才能在遊戲中顯示。
2.什麼是客戶端腳本?
只會在客戶端執行的腳本,執行的邏輯和表現也只會在本地客戶端展現;可在以下幾個文件目錄下自動執行,客戶端腳本在“工作區”下不會自動執行,需要放在以下對象裏面:
1. 客戶端最先加載 。
2. 工作區中的角色模型。玩家初始化中的角色初始化腳本,在運行後會自動移動到角色模型下。
3. 玩家列表中的玩家。玩家初始化中的玩家初始化腳本,在運行後會自動移動到玩家下
4. 玩家的玩家界面。界面初始化的腳本,在運行後會自動移動到玩家界面下。
5. 玩家的揹包,例如工具裏面的。
好了,接下來我們開始遊戲,點擊蓄力跳這個技能,就能根據按住按鈕的時間長度來增加跳躍高度啦。如果有什麼問題或者有更好的實現方式,大家可以在下方積極交流討論,我們也會參與進來和大家一起分享經驗,期望能和大家共同進步~~