Referencia:
El entorno del generador Laya-ProtoBuf es creado automáticamente por Docker.
Red y formato - ProtocolBuffer
[Tutorial de pescado salado] El uso de protobuf en la comunicación websocket
Código fuente de codificación:
https://gamedaybyday.coding.net/p/LayaProtoBuf
No hay una manera conveniente de encontrar en la comunidad del foro y tutoriales oficiales de Laya. Hay un amigo de agua github emitió un Docker generado automáticamente, pero no es fácil de usar Egret.
Instalación de una ejecución npm
En la carpeta del proyecto Laya, haga clic con el botón derecho y seleccione "Abrir ventana de Powershell aquí"
Ingrese el siguiente comando
npm install [email protected] -g npm install @ egret / protobuf -g
Dos corridas pb-egret add
Ejecute pb-egret add para prohibir la ejecución
Ejecute el siguiente comando una vez, seleccione Y
Set-ExecutionPolicy sin restricciones
Luego ejecute pb-egret add
pb-egret add
Se genera una carpeta protobuf en el directorio del proyecto
Tres Generar archivos de biblioteca basados en archivos .proto
Escribir un archivo de prueba. Proto, colocado en la carpeta protobuf / protofile
Ejecute pb-egret generate
pb-egret generar
Después de ejecutarse, los siguientes archivos se generan en protobuf / bundles: este es el archivo de biblioteca generado por el archivo .proto, que se puede utilizar como una biblioteca de terceros en Laya.
Modifique pbconfig.json en la carpeta protobuf del proyecto como se muestra a continuación
Ejecute pb-egret generate nuevamente, el archivo resultante se vuelve más pequeño y no se generan algunos métodos no utilizados.
Cuatro usando archivos de biblioteca en Laya
Copie protobuf-library.min.js en protobuf / library al proyecto bin / libs
Copie protobuf-library.d.ts en protobuf / library a las bibliotecas del proyecto
Copie protobuf-bundles.min.js en protobuf / bundles al proyecto bin / libs
Copie protobuf-bundles.d.ts en protobuf / bundles a las bibliotecas del proyecto
En el editor de IU de Laya, F9, verifique lo siguiente
¡El orden de las bibliotecas no debe estar equivocado! ! Compruebe en bin / index.js, primero debe cargar protobuf-library.js y luego cargar protobuf-bundles.js, de lo contrario obtendrá un error, no puede encontrar el objeto de inicialización protobuf.roots.
Utilizado en el código, asegúrese de que template.login puede ser utilizado. El envío de sockets puede ser depurado por mí mismo. No tengo servidor y no lo he depurado.
Cinco Cómo actualizar después de modificar el archivo .proto
1. Siga el paso 4 anterior para copiar los nuevos archivos de protobuf / bundles a los directorios bin / libs y libs
2. Modifique protobuf / pbconfig.json para tener una ruta de lanzamiento de outputFile