Multiplayer tutorial 3: Pong

2

Index

Tagged

Stats

11,058 visits, 18,360 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.

Published on 21 Dec, 2014. Last updated 25 Feb, 2019

Eventos del juego

Como con el ejemplo del chat tenemos constantes globales para el juego, intancia y nombre de la sala. Esto nos permiten cambiar convenientemente los nombres en los servidores de señalización sin tener que buscar a través de nuestros eventos. Sin embargo también tenemos una variable global para el estado del juego. El primer jugador que inicia en la sala necesita esperar hasta que alguna otra persona también inicie. Entonces el juego puede decir "get ready", y luego "GO!". Esta variable global tendrá el estado actual del juego.

Grupo "Message Log"

El anterior ejemplo de chat uso una caja de texto establecido como textarea como el chat principal y el registro. Sin embargo esto es un objeto opaco que oscurecería el layout si es usado en este ejemplo. En su lugar es usado un ordinario objeto de texto LogText para mostrar el registro de mensajes. Los objetos de texto normal no tienen soporte de desplazamiento. Para estar seguro que lo mensajes se va visualizar incluso cuando ellos vayan a la parte inferior del objeto, implementamos nuestro propio sistema de desplazamiento. Esto se hace mediante el uso de un array para almacenar una linea de texto en cada indice del array y entonces borrar el primer elemento para desplazar una linea hacia arriba. Estos no esta específicamente relacionado con los juegos de multijugador, pero es una buena técnica para cubrir de cualquier manera.

La funciona AddLog agregar una linea mediante la adición de este al final de cada array ("push back"). Si hay arriba de 20 lineas, este es eliminado de la primera linea ("prop front") - así la primera linea desaparecerá de la vista. Después reiniciamos completamente el contenido de LogText: primero esto se borra para vaciar, luego iteramos el array y es agregado en cada linea del objeto en orden. El resultado final es que cada vez que nosotros llamamos AddLog una nueva linea es agregada al final del objeto LogText y esto se desplaza cuando llega a 20 lineas.

Ahora podemos llamar a AddLog en el objeto Function desde cualquier otro event sheet convenientemente y agregar mensajes desplazamiento de mensajes LogText.

  • 0 Comments

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