Layout Login
Este layout é praticamente idêntico ao do layout de login da sala de chat do tutorial anterior. Ela simplesmente serve para permitir que o usuário digite um nome em uma caixa de texto. O nome de usuário é armazenado em uma variável global e usado para fazer login no servidor de sinalização no próximo layout.
Layout Game
O layout Game agora tem um objeto para o "paddle" (raquete) do "host" à esquerda e a bola. Quando um cliente (adversário) se junta, seu "paddle" será criado no lado direito. Ambos os jogadores sempre verão o "host" do lado esquerdo e o cliente (o segundo jogador a juntar-se) à direita.
A área de texto ChatLog foi substituída por um objeto Text comum, de modo que os objetos possam ser vistos abaixo dele. Uma matriz (array) é usada para simular o rolamento das mensagens para cima, que será descrito em mais detalhe brevemente.
Os eventos para este layout lidam com os mesmos eventos de sinalização que o exemplo anterior de chat fez. No entanto, acima disso ele também lida com a sincronização dos "paddles" e da bola em tempo real. Para simplificar este exemplo não incluímos um chat, portanto, o jogador apenas entra com as posições do seu "paddle", controlado pelo mouse. Também para simplificar, não há compensação lag. Se houver alta latência, o jogador à direita pode perder a bola, mesmo que ele a veja rebater, porque somente o "host" testa as colisões e ele estará vendo a conexão com um longo atraso. Uma vez que o assunto compensação de lag pode ser um pouco complicado, não vamos lidar com ele neste tutorial - o quarto tutorial (jogo em tempo real) lidará. O jogo deve funcionar bem em conexões de baixa latência, como LANs.
Este é um exemplo relativamente complexo, com um total de 40 eventos. Nós vamos começar a olhar para estes eventos na próxima página.