Android: Angry Birds Scaling


11

Alguém tem alguma idéia de como a descamação é realizada em pássaros bravos? Quero garantir que minhas imagens / plano de fundo sempre sejam dimensionadas para corresponder ao tamanho da tela e este jogo pareça ter um efeito semelhante. Eu tenho jogado com o lote de configurações de manifesto na definição de tamanhos de tela preferidos, mas ainda tenho que duplicar exatamente o que quero.

Existem maneiras eficazes de garantir que seu jogo sempre mostre espaço XY, diminuindo conforme necessário, dependendo do tamanho do pixel?

Quero garantir que tudo seja sempre exibido na tela para todos os dispositivos e não cortar as coisas em dispositivos pequenos ou adicionar espaço em preto em dispositivos grandes.

Estou calculando meu espaço de desenho, obtendo o tamanho da vista e usando isso como limites para meus sprites, mas parece que não está funcionando muito bem.

Respostas:


6

Para responder à pergunta original, o Angry Birds usa gráficos raster regulares (não vetores). Apenas descompacte o arquivo .apk (é um arquivo zip) e veja você mesmo as texturas.

O Angry Birds só acontece para impedir que você defina um fator de zoom acima de 1.x, evitando assim o aumento (ampliação) das texturas. Provavelmente também usa o mapeamento mip do OpenGL para evitar artefatos de redução de escala (minificação).


Explica por que existe / houve uma versão em HD separada.
Mateus Leia

4
  1. Use gráficos vetoriais . Os vetores não são definidos por pontos no espaço (ou seja, pixels individuais), são definidos por relações matemáticas e se adaptam facilmente a visualizações menores ou maiores.

  2. É impossível exibir exatamente a mesma imagem em uma tela de proporção 4: 3 e em uma tela de proporção 16: 9, por exemplo, sem compactar ou esticar a imagem. Assim, você terá que cortar coisas nos dispositivos 4: 3 que seriam exibidos nos dispositivos widescreen 16: 9. Isso não é algo ruim em um jogo como o Angry Birds, no qual o usuário pode ver o que está faltando.


1

Na plataforma Android, existem:

  • 320 * 240 (1,33)
  • 400 * 240 (1,66)
  • 480 * 320 (1,5)
  • 800 * 480 (1,66)
  • 854 * 480 (1,77)
  • 1024 * 600 (1,71)

Então, quando você cria seu jogo em 2D, deve pensar nisso. Você tem duas soluções técnicas:

  • escolha uma proporção (1,66 é a mais difundida) e use faixas pretas (como filmes)
  • Selecione uma caixa delimitadora na qual você não pode diminuir o zoom e outra para aumentar o zoom.

Eu uso esse método para Moblox e pinte os níveis com essas caixas. Para uma melhor renderização na maioria dos telefones, minhas caixas delimitadoras têm uma proporção de 1,66. Nos telefones com proporção 1,33 ou 1,77, há elementos de segundo plano não visíveis, mas eu projetei meu nível com ações centralizadas. Então os jogadores não se importam.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.