通過Reworld完成監聽零件的顏色變化和取消監聽

運行環境

Win7,Win8,Win10 win64

Reworld版本 體驗版

 

針對零基礎讀者的補充

下載安裝 Reworld對應版本

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

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

思路分析:

註冊監聽爲了兩部分:首先是註冊,這是一個基礎的方法,常用於檢測某些操作是否到達了自己想要預期,然後再自動調用相應的方法去執行下一步操作。第二部分是取消監聽,顧名思義就是取消剛纔監聽的事件,爲了防止再次發生相應的事件重複調用,所以要取消掉監聽

功能效果展示

零件搭建

一、搭建過程

1.工作區創建一個零件

核心功能執行環境搭建

一、搭建過程

工作區裏創建一個服務器腳本


打開服務器腳本,填入以下代碼:

local part = WorkSpace.零件 --尋找零件

local function handle(property, value, newValue, objectName, objectClassName)  --回調方法

    print("property " .. property .. " Value Changed")

end

PropertyWatcherService:ListenPropertyChange(part, "Color", handle) -- 監聽

wait(3)  --延時

part.Color = Vector3(255,255,255)

wait(3) --延時

PropertyWatcherService:DisListen(part,"Color") -- 取消監聽

wait(1) --延時

part.Color = Vector3(0,0,0)

 

此時就完成了對零件顏色的監聽和取消監聽

 

二、補充說明

1.什麼是服務器邏輯?

服務對象。 

此服務下的腳本會在服務器上運行,用於放置服務器端遊戲邏輯 。

不可創建。

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

不可刪除。 

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

不可複製。 

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

 

2.什麼是服務器腳本?

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

            

3.爲什麼要使用服務器腳本?

      基於衝刺功能適用於單人和多人等不同環境,所以採用通用的服務器腳本。

  • 服務器腳本與客戶端腳本不同,客戶端執行的操作只有本地客戶端,也就是玩家自己有效。而服務器執行的操作不僅針對單人有效,還針對與服務器相連的所有客戶端同步生效。
  • 在多人遊戲中,如果這個對象的變化是針對一個人的,必須在客戶端腳本進行編寫;如果這個對象的變化是針對所有人的,那就必須在服務器腳本進行編寫。
  • 對於只能在客戶端腳本修改的對象,如何讓服務器知曉變化結果是很重要的。這裏採用傳統遊戲的製作流程,也就是在客戶端進行修改,把修改後的結果通過與服務器通信的方式發送到服務器,再通過服務器進行邏輯運算,把執行結果再同步給所有客戶端。

 

好了,那麼零件顏色的監聽和取消監聽到這裏就完美實現了。

小夥伴們快去嘗試吧!

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