CRÉEZ VOTRE MONDE
Multiplay

État de la salle multijoueur

8min
la salle multiplay fournit une propriété d'état pour gérer l'emplacement des joueurs ou des objets connectés la définition des données de l'état peut être gérée à partir du fichier schema, qui se trouve en dessous du package multiplay l'événement onstatechange est d'abord appelé lorsque le client établit avec succès une connexion à la salle, et est ensuite appelé chaque fois qu'il y a des changements dans les données d'état api du serveur api description state schema name vous pouvez accéder au champ schema name défini dans le fichier schema avec l'état vous pouvez modifier la valeur du champ à la demande d'un client ou de la logique interne du serveur l'état modifié est ensuite automatiquement propagé aux clients en utilisant l'événement onstatechange 📘 veuillez vous référer au guide suivant \[ api zepeto multiplay(server) https //developer zepeto me/docs/multiplay server/classes/zepeto multiplay sandbox#state ] import { location } from 'zepeto multiplay schema'; export default class extends sandbox { const location location = this state playerlocation; // gestion de l'état } api description room onstatechange(state, isfirst) vous pouvez enregistrer un rappel de changement d'état lorsque vous rejoignez la salle vous pouvez recevoir l'état de l'ensemble de la salle pour la première fois, et seul l'état modifié sera reçu par la suite api client import { zepetoscriptbehaviour } from 'zepeto script'; import { location } from 'zepeto multiplay schema'; export default class sampleclient extends zepetoscriptbehaviour { start() { this multiplay roomjoined += (room room) => { room onstatechange += this onstatechange; }; } private onstatechange(state state, isfirst boolean) { const location location = state playerlocation; // gestion de la localisation du joueur en utilisant l'état mis à jour } } définir le fichier de schéma le schéma est une structure de données pour définir l'état actuel dans la salle les salles sont principalement utilisées pour gérer les informations des joueurs, les emplacements des joueurs ou des objets, etc pour modifier un schéma, vous pouvez sélectionner vue du projet → actif multiplaypackage → schema json, puis modifier le type de données à utiliser pour le monde dans la fenêtre inspecteur vous pouvez modifier le type de données à utiliser pour le monde dans la fenêtre inspecteur étape 1 définir les types de schéma les types de schéma sont la structure de données utilisée dans le monde dans l'inspecteur → types de schéma, appuyez sur le bouton \[+] et ajoutez des données étape 2 ajouter l'état de la pièce l'état de la pièce est la propriété qui montre l'état actuel de la pièce du monde, et est exprimé dans la structure de schéma comme défini ci dessus parmi les types de schéma, sélectionnez le type état de la pièce qui sera utilisé comme l'état actuel du monde et définissez le comme le nom du schema exemple de schemas json { "état" {"joueurs" {"carte" "joueur"}}, "joueur" {"sessionid" "string","zepetouserid" "string","transform" "transform","état" "number","sousétat" "number"}, "transform" {"position" "vector3","rotation" "vector3"}, "vector3" {"x" "number","y" "number","z" "number"} }