1. Não há boas práticas gerais.
Se você tiver muitos elementos (de forma complexa), partículas etc. no seu jogo, a abordagem do buffer de bitmap será muito mais rápida. O buffer de bitmap também será dimensionado melhor com o aumento da complexidade de seus sprites. O renderizador de vetores se tornará mais lento com formas mais complexas ou animações de interpolação (interpolação de formas), mas há outros benefícios:
- Você pode escalar livremente seus recursos ou até ampliar a cena sem perda de qualidade.
- A rotação ou outras transformações, como a inclinação, serão muito mais fáceis de executar em gráficos vetoriais
Então, em conclusão, tudo se resume ao tipo de jogo que você está construindo.
2. Usando MovieClips em vez de folhas de sprite de bitmap
Eu acho que você quis dizer "folhas de sprite de bitmap" e não a classe AS3 Sprite ?
Isso não faz diferença, realmente. Você sempre pode transformar suas animações baseadas em MovieClip em bitmaps animados. Manualmente, exportando o filme para quadros e transformá-los em uma folha de sprite , ou dinamicamente, renderizando uma folha de sprite do seu MovieClip em tempo de execução. Aqui está como eu faria isso:
- Crie uma instância do MovieClip e
stop()
ela.
- Crie um
new BitmapData
objeto com a mesma largura e altura que o Movieclip.
- Use o método draw () para renderizar o MovieClip no BitmapData.
- Armazene o objeto BitmapData em uma matriz ou vetor.
- Vá para o próximo quadro do seu MovieClip e repita as etapas 2 a 4, faça isso até atingir o último quadro do seu MovieClip. Também é uma boa idéia atualizar duas variáveis com a largura e a altura máximas dos quadros do MovieClip (pois elas podem mudar de quadro para quadro).
- Agora você pode combinar todos os objetos BitmapData armazenados em uma planilha de sprite (use BitmapData.copyPixels () )
3. Animações baseadas em Sprite
Como mencionado na resposta à sua primeira pergunta, não há resposta definitiva para isso. Se você precisar realizar muitas transformações com seus objetos, por exemplo. escalando e girando, você provavelmente está melhor usando o renderizador nativo do flash. Se você tiver animações predefinidas que podem ser criadas em folhas de sprite (manualmente ou dinamicamente) e se precisar exibir centenas de sprites ao mesmo tempo, escolha um mecanismo de renderização de bitmap.