功能效果展示

運(yùn)行環(huán)境
Win7,Win8,Win10
Reworld版本 體驗(yàn)版
vc_redist.x64 運(yùn)行環(huán)境
針對(duì)零基礎(chǔ)讀者的補(bǔ)充
下載安裝 Reworld對(duì)應(yīng)版本
Reworld官網(wǎng)鏈接:http://www./
Reworld創(chuàng)作者之家論壇:http://bbs.
下載后安裝后注冊(cè)賬號(hào)打開空地圖
下載安裝vc_redist.x64.rar運(yùn)行環(huán)境
redist.x64下載鏈接
思路分析
我們想要實(shí)現(xiàn)小球躲避玩家的功能,首先要讓小球獲取到玩家的信息也就是ID,當(dāng)小球獲取到玩家的ID之后就可以通過與玩家坐標(biāo)之間距離的判斷實(shí)現(xiàn)躲避的功能。我們可以設(shè)計(jì)一個(gè)游戲開始的UI,這樣當(dāng)我們點(diǎn)擊游戲開始時(shí),就能獲取到玩家的ID。
功能搭建
一、UI搭建過程 1.首先我們需要在界面初始化里創(chuàng)建一個(gè)2D容器界面,在2D容器界面下在創(chuàng)建一個(gè)按鈕控件和文本控件。如下圖所示:

2.在按鈕控件下創(chuàng)建一個(gè)客戶端腳本,用來(lái)獲取玩家的ID。如下圖所示:
 編寫客戶端腳本如下:
script.Parent.OnClick:Connect(function()
script.Parent.Parent.IsVisable = false
MessageEvent.FireServer("GetUid")
end)
二、小球搭建過程 1.首先我們?cè)?strong>工作區(qū)里創(chuàng)建一個(gè)球體的零件,為了美觀我們可以增加貼花,做出一個(gè)足球的效果。如下圖所示:
 2.我們?cè)谛∏蛳聞?chuàng)建一個(gè)服務(wù)器腳本,如下圖所示:
 編寫服務(wù)器腳本如下:
local?a?=?script.Parent
local?player=nil
local?maxspeed?=?5
MessageEvent.ServerEventCallBack("GetUid"):Connect(function(uid)
????player=Players:GetPlayerByUserId(uid).Avatar
????print(uid)
????print(player.Name)
end)
??
local?function?Evade()
????if(player~=nil)
????then
????????local?totarget?=?player.Position?-?a.Position?--向前預(yù)測(cè)時(shí)間
????????local?lookaheadTime?=?totarget.magnitude/maxspeed--計(jì)算預(yù)期速度
????????local?desirevelocity?=?(a.Position?-?player.Position).normalized?\*maxspeed
????????desirevelocity.y?=?0
????????a.Velocity.y?=?0?????????
????????a.Velocity?=?desirevelocity?-?a.Velocity
????end
end
GameRun.Update:Connect(Evade)
二、補(bǔ)充說(shuō)明
1.什么是2D容器界面?
2D容器界面是顯示在玩家屏幕上的2DUI對(duì)象的主要存儲(chǔ)對(duì)象。UI對(duì)象若要顯示在編輯器中,必須作為容器控件的子級(jí)。
游戲運(yùn)行后,存放在界面初始化StarterUI下的界面會(huì)復(fù)制到玩家界面下,只有在玩家界面GameUI下的界面才能在游戲中顯示。
2.什么是客戶端腳本?
只會(huì)在客戶端執(zhí)行的腳本,執(zhí)行的邏輯和表現(xiàn)也只會(huì)在本地客戶端展現(xiàn);可在以下幾個(gè)文件目錄下自動(dòng)執(zhí)行,客戶端腳本在“工作區(qū)”下不會(huì)自動(dòng)執(zhí)行,需要放在以下對(duì)象里面:
1. 客戶端最先加載 。
2. 工作區(qū)中的角色模型。玩家初始化中的角色初始化腳本,在運(yùn)行后會(huì)自動(dòng)移動(dòng)到角色模型下。
3. 玩家列表中的玩家。玩家初始化中的玩家初始化腳本,在運(yùn)行后會(huì)自動(dòng)移動(dòng)到玩家下
4. 玩家的玩家界面。界面初始化的腳本,在運(yùn)行后會(huì)自動(dòng)移動(dòng)到玩家界面下。
5. 玩家的背包,例如工具里面的。
好了,接下來(lái)我們開始游戲,點(diǎn)擊蓄力跳這個(gè)技能,就能根據(jù)按住按鈕的時(shí)間長(zhǎng)度來(lái)增加跳躍高度啦。如果有什么問題或者有更好的實(shí)現(xiàn)方式,大家可以在下方積極交流討論,我們也會(huì)參與進(jìn)來(lái)和大家一起分享經(jīng)驗(yàn),期望能和大家共同進(jìn)步~~
|