Multiplayer tutorial 3: Pong

2
  • 0 favourites

Index

Tagged

Stats

10,141 visits, 16,651 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Grupo Peer

Como en el ejemplo de chat, el grupo de eventos Peer es un poco más simple que el del host. Recuerda que Sync object crea, mueve y destruye objectos automáticamente para los peers dependiendo que esta pasando con el anfitrión, así no necesitamos preocuparnos aquí. El grupo Host sin embargo, va a tener que hacer frente a como los objetos se mueven y interactuan, que en este caso es sobre todo cada vez que la pelota rebota en las paletas y mantiene el marcador.

Esto no es una cosa que necesitas hacer cuando creamos objetos como un peer, sin embargo. Sync object automáticamente va a crear y destruir objetos, pero cuando son creados necesitamos establecer su variable de instancia peerid así nosotros podemos después saber después que a peer representa el objeto. Cuando Sync object crea un objeto, los objetos de On created desencadenan y la expresión Multiplayer.PeerID estable el ID del peer para el objeto que es creado. Esto nos permite cual es el peer. También, como con todos los objetos que representan peers, podemos usar la acción Associate object with peer para indicar que este objeto representa un peer conectado. (Esto siempre debe hacerse en ambos lados, host y peer.)

Luego, el peer necesita enviar estas entradas al host. On client update se desencadena cuando el engine multijugador esta a punto de enviar datos al host, por lo que debemos decirle al objeto Multijugador los últimos valores. Todo lo que necesitamos hacer es decirle al host la coordenada Y de nuestra paleta. La paleta es posicionada por el cursor de nuestro mouse, así que solo tenemos que establecer el valor de la entrada "y" (que agregamos al inicio del layot) a la posición Y de nuestro mouse.

Finalmente, el host tiene el control del juego y decide cuando vamos de "get ready" a "go!". Con el fin de mantener nuestra variable global GameState sincronizada con el host, siempre que recibidos un mensaje "gamestate-changed" actualizamos la variable global.

¡Esto es todo para la especificación de los eventos de peer!

  • 0 Comments

  • Order by
Want to leave a comment? Login or Register an account!