Win7,Win8,Win10redis
Reworld版本 體驗版服務器
vc_redist.x64 運行環境dom
下載安裝 Reworld對應版本編輯器
Reworld官網連接:http://www.reworlder.com/spa
Reworld創做者之家論壇:http://bbs.reworlder.com3d
下載後安裝後註冊帳號打開空地圖code
下載安裝vc_redist.x64.rar運行環境對象
redist.x64下載連接blog
在重啓世界編輯器中,咱們能夠利用服務器存儲存放一個地圖塊,建立一個表來存放克隆出的地圖塊,每次克隆都給地圖塊兩個隨機數的座標,而且修改地圖塊的顏色,這樣每次開始遊戲咱們就有了一個隨機的地圖了。遊戲
1、地圖塊搭建過程
1.在工做區內建立一個零件,將其錨定,修改零件的屬性。零件的屬性以下圖所示:
2.把零件放入服務器存儲中。以下圖所示:
在工做區內建立一個服務器腳本。以下圖所示:
編寫服務器腳本以下:
local a = ServerStorage.零件 local bTable = {} -建立一個表 math.randomseed(tostring(os.time()):reverse():sub(1, 7)) coroutine.start(function() for i =1,100,1 do local x = math.random(1,21) --X增長隨機數 local z = math.random(1,16) --Y增長隨機數 local b = a:Clone() b.Parent = WorkSpace b.Name="零件"..i table.insert(bTable,b) for i=#bTable,#bTable,1 do if x ~= bTable[i].Position.x or z ~= bTable[i].Position.z then --遍歷表,若是X,Z座標不等於表內的X,Z座標 b.Position = Vector3(x*2,1,z*2) --給b的座標賦值 for n=1,100,1 do local lx = math.random(1,100) if lx <= 50 then b.Color = Vector3(255,0,0) elseif lx <= 70 then b.Color = Vector3(255,255,0) elseif lx <= 80 then b.Color = Vector3(192,192,192) elseif lx <= 90 then b.Color = Vector3(0,255,64) elseif lx <= 100 then b.Color = Vector3(0,255,255) --隨機修改b的顏色 else return end end else table.remove(bTable,i) b:Destroy() end end end end)
1.什麼是工做區?
工做區中的對象是會被可視化顯示到3D場景中的,而且只有在工做區中的對象纔會發生物理交互。
2.什麼是服務器存儲?
此服務爲數據存儲區,數據存儲區中的零件等對象數據不會被實例化,不可見不進行物理交互;服務器存儲中數據只能被服務器腳本調用實例化,也只能服務器腳本存儲數據。
3.什麼是服務器腳本?
只會在服務器運行的Lua腳本代碼,用於編寫服務器邏輯。
4.爲何要使用服務器腳本?
1.服務器腳本與客戶端腳本不一樣,客戶端執行的操做只有本地客戶端,也就是玩家本身有效。而服務器執行的操做不只針對單人有效,還針對與服務器相連的全部客戶端同步生效。 2.在多人遊戲中,若是這個對象的變化是針對一我的的,必須在客戶端腳本進行編寫;若是這個對象的變化是針對全部人的,那就必須在服務器腳本進行編寫。 3.對於只能在客戶端腳本修改的對象,如何讓服務器知曉變化結果是很重要的。這裏採用傳統遊戲的製做流程,也就是在客戶端進行修改,把修改後的結果經過與服務器通訊的方式發送到服務器,再經過服務器進行邏輯運算,把執行結果再同步給全部客戶端。
好了,接下來咱們運行遊戲,就會發現咱們的地圖塊隨機生成了一個五光十色的地圖啦。若是有什麼問題或者有更好的實現方式,你們能夠在下方積極交流討論,咱們也會參與進來和你們一塊兒分享經驗,指望能和你們共同進步~~