创造你的世界
多人游戏
多人游戏房间状态
7min
Multiplay Room 提供一个状态属性,用于管理连接的玩家或对象位置。
状态的数据定义可以从模式文件中管理,该文件位于多玩家包下。 当客户端成功建立与房间的连接时,首先调用 onStateChange 事件,之后每当状态数据发生变化时都会调用该事件。
API | 描述 |
---|---|
state.SCHEMA_NAME | 您可以通过状态访问在模式文件中定义的 SCHEMA_NAME 字段。 您可以在客户端请求或内部服务器逻辑的请求中修改字段值。 更改的状态会通过 OnStateChange 事件自动传播到客户端。 |
📘 请参考以下指南。 [ZEPETO.Multiplay(服务器) API]
API | 描述 |
---|---|
room.OnStateChange(State, isFirst) | 您可以在加入房间时注册状态更改回调。 您可以第一次接收整个房间的状态,之后只会接收更改的状态。 |
模式是定义房间当前状态的数据结构。房间主要用于管理玩家信息、玩家或物体位置等。
要编辑架构,您可以选择项目视图 → MultiplayPackage 资产 → schema.json,然后在检查器窗口中修改用于世界的数据类型。 您可以在检查器窗口中修改用于世界的数据类型。
架构类型是用于世界的数据结构。在检查器 → 架构类型中,按下 [+] 按钮并添加数据。
4-4-3-1.gif
房间状态是显示世界房间当前状态的属性,并在上述定义的架构结构中表示。
在架构类型中,选择将用作世界当前状态的类型房间状态,并将其设置为 SCHEMA_NAME。