Portuguese, Brazilian subtitles

← PS 04-09 Renderização da Saída do Pacote de Textura

Get Embed Code
6 Languages

Showing Revision 3 created 09/08/2013 by Luciana Negrao.

  1. Com isso em mente, sua próxima tarefa
    requer que você use o arquivo de dados
  2. que você analisou para renderizar as
    poucas imagens na tela. Você precisará preencher
  3. as duas funções abaixo para desenhar corretamente imagens na tela. Agora, antes de você
  4. começar, vamos falar sobre uma coisa rápida.
    Perceba que, até agora,
  5. seus artistas estavam, na verdade, criando objetos referenciando arquivos soltos.
  6. E os artistas criam algum tipo de textura,
    colocam no disco, e então eles
  7. referenciam um objeto àquela textura.
    Bem, com certeza, existe um processamento posterior.
  8. Nós temos todos eles amontoados em em uma caixa pequena, e agora temos uma correlação
  9. faltando. O arquivo do artista ainda
    vai referenciar o objeto solto.
  10. Mas teremos esse objeto colocado ao redor de uma textura maior. Como nós fazemos a conexão
  11. entre os dois? A função "drawSprite"
    precisa arrumar isso. Ela assume que
  12. será dado um "spritename", que representa
    o nome do arquivo do objeto solto,
  13. assim como a posição X e a posição Y
    de onde ela vai renderizá-lo na tela.
  14. Já que estamos dando o "spritename",
    precisamos também mapear onde esse
  15. "spritename" existe dentro dos atlas
    que nós carregamos. Agora, para seu
  16. benefício, nós vamos te ajudar com isso.
    Olhando no topo do arquivo,
  17. nós definimos um objeto dicionário global
    que representa cada página com objetos gráficos
  18. que já foi carregada. Na função de carregamento para a página de objetos gráficos, vamos adicionar
  19. essa página de objetos gráficos no vetor global,
    definindo o nome da página como a chave para
  20. o elemento dicionário. O que isso te
    permitirá fazer é quando você recebe um
  21. "spritename" dentro da função de desenho,
    você pode passar através de todas as
  22. páginas de objetos gráficos e para cada página de objetos gráficos, determinar se o "spritename" dado existe ou não
  23. nos objetos gráficos que foram definidos
    para aquela página.
  24. Isso deve ser bem direto, dado que
    nós já cobrimos a definida
  25. função "sprite" e você já tem a lista que inclui um nome. Uma vez que a função "drawSprite"
  26. descobre em que atlas esse
    objeto gráfico está,
  27. ela pode passar esses dados para "drawSpriteInternal", entregando a informação do objeto gráfico,
  28. de qual página de atlas ele está vindo,
    assim como a posição X e Y,
  29. que nos foi dada pelo "drawSprite". "DrawSpriteInternal" deve, na verdade, fazer o trabalho pesado
  30. de posicionar do elemento,
    e desenhá-lo para o mundo, aproveitando o API
  31. de desenho de imagens que nós acabamos de cobrir, com todos os seus novos parâmetros de sinos extravagantes e
  32. assobios.