Tutorial Multiplayer 3: pong

1

Index

Tagged

Stats

11,046 visits, 19,246 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 13 Aug, 2015. Last updated 25 Feb, 2019

Eventos do Jogo

Como no exemplo de chat temos constantes globais para o jogo, instância e nome da sala. Estes nos permitem mudar convenientemente os nomes no servidor de sinalização sem ter que pesquisá-los através de nossos eventos. No entanto, também temos uma nova global para o estado do jogo. O primeiro jogador a ingressar na sala precisa esperar até que alguém com quem jogar também se junte. Então o jogo vai dizer "get ready" e depois "GO!". Esta variável global contém o estado atual.

Grupo Message Log

O exemplo de chat anterior usou um objeto Text Box definido em modo textarea como a base para o chat e o log de informações. No entanto, é um objeto opaco que iria obscurecer o layout se usado neste exemplo. Em vez disso, usamos um objeto de texto comum chamado LogText para mostrar mensagens de log. No entanto objetos de texto normais não suportam rolagem. Para que tenhamos segurança de que as mensagens continuam a ser exibida mesmo quando elas saem para fora da parte inferior do objeto, vamos implementar o nosso próprio sistema de rolagem. Isso é feito usando uma matriz para armazenar uma linha de texto em cada índice da matriz, e em seguida, deletando o primeiro item ao deslocá-lo para cima. Este não é especificamente relacionado com jogos multiplayer, mas é uma técnica útil de aprender de qualquer maneira.

A função AddLog acrescenta uma nova linha, adicionando-a no final da matriz ("push back"). Se houver mais de 20 linhas, ele exclui a primeira linha ("pop front ") - então a primeira linha irá desaparecer da vista. Depois disso, repomos totalmente o conteúdo do objeto LogText: primeiro ele é limpo até esvaziar, então interagimos com a matriz e adicionamos em ordem cada linha no objeto. O resultado final é que cada vez que chamamos AddLog, uma nova linha é adicionada ao final do objeto LogText, e ele rolará para cima quando atingir 20 linhas.

Agora nós podemos chamar AddLog no objeto Function de qualquer outro lugar na folha de eventos para adicionar convenientemente mensagens com rolagem em LogText.

  • 0 Comments

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