Construct 3 SDK¶
安裝¶
註意! 您需要一個伺服器來使用 Colyseus!
眾所周知 Construct 的現有功能可以從客戶端 "托管" 一個多人進程. 這在使用 Colyseus 時是不可能的.Colyseus 是一個權威性 伺服器, 由 Node.js 編寫. 您無法使您的客戶端直接托管遊戲進程.
Construct 3 SDK:Source code
您可以在此找到 Construct SDK 的源代碼: Construct 3 (與 Construct3 的 C3 和 C2 執行時間兼容) / Construct 2 (非最新版 - 與 0.9.x 伺服器兼容)
示例專案¶
示例專案與 TypeScript (pixijs-boilerplate) 有相同的結果.
處理消息¶
從伺服器向客戶端發送消息時的一個重要註意事項: 您需要提供一個擁有 "type"
字段的對象, 以便客戶端能夠進行解析.
伺服器端
typescript this.broadcast("foo", "bar");
客戶端
使用 On Message
條件, 以 "foo"
作為自變數. 表達式 CurrentValue
將擁有一個數值 "欄"
.
屬性¶
預設端點¶
使用 "Connect" 行動的預設端點.
行動¶
設置端點為{0}¶
格式: wss://example.com
以{1}選項加入房間{0}.¶
以名稱加入房間
以{1}選項加入房間{0}.¶
以名稱加入房間
以{1}選項創建房間{0}.¶
以名稱創建房間
以{1}選項加入房間{0}.¶
以 ID 加入現有房間
以 sessionId {1} 重新連線至房間{0}.¶
使用之前連線過的房間重新連線
以{1}發送{0}¶
向一個房間發送消息
從房間離開¶
從房間斷開客戶端連線.
獲得可用的{0}房間.¶
以名稱獲得可用房間, 當數據可用時 OnGetAvailableRooms 觸發. 數據以 JSON 字符串 CurrentValue 表達式返回
條件¶
加入時¶
成功加入房間時觸發.
離開時¶
離開房間時觸發.
錯誤時¶
伺服器發生錯誤時觸發.
On Message ({0})¶
當房間廣播一條消息, 或直接向本客戶端發送消息時觸發.
狀態改變時¶
當房間狀態改變時觸發.
獲得可用房間時¶
當可用的房間數據在 CurrentValue 表達式中準備好時觸發.
添加時{0}¶
當一個項添加至 ArraySchema 或 MapSchema 時觸發.
字段改變時{0}¶
當 Schema 實例中字段改變時觸發. 需要使用
改變時{0}¶
當 ArraySchema 或 MapSchema 中的一個項發生改變時觸發.
移除時{0}¶
當一個項從 ArraySchema 或 MapSchema 移除時觸發.
作為索引{0}¶
僅對 Arrays和Maps 可用. 檢查當前項的索引是否與提供的值相等.
作為字段{0}¶
只有在直接對象 "改變" 時可用. 檢查一個字段名是否被更改.
表達式¶
JSON¶
聲明一個 JSON 值.
CurrentValue¶
從當前項獲取值
PreviousValue¶
從當前項獲取之前的值. 只有在實例變數 "改變" 時可用. arrays 和 maps 不可用.
CurrentValueAt¶
從當前項獲取嵌套值
CurrentIndex¶
從當前項獲取索引. "添加", "改變" 或 "移除" 時可用
CurrentField¶
獲取被更改的當前字段. "字段更改" 時可用
狀態¶
獲取房間狀態的值
SessionId¶
當前用戶的獨特 sessionId
ErrorCode¶
獲取上一個錯誤代碼
ErrorMessage¶
獲取上一條錯誤消息