Acesso rápido

28/07/2009

Como otimizar sites em flash

Isso aqui vai ser principalmente para AS2, já que eu ainda estou estudando AS3 - e, de quebra, 90% das coisas no brasil, e isso inclui mídias kits, em AS2. O povo usa AS2, eu vou falar de AS2, certo?

E já que eu vivo falando de flash, vivo pagando de bonzão, é hora de m é hora de mostrar serviço :D

Como otimizar o site em flash



Quando mais novo, eu viva querendo fazer meus sites ficarem extremamente bons em flash, mas só ouvia um "na boa? Te vira", mas de maneira educada. Tipo "vai no google" ou coisa do tipo.

Nunca, eu disse NUNCA, use imagens demais
O Flash usa vetores. Animações vetoriais são fodas pra caralho. Com vetores você cria efeitos 3d que programação nenhuma no mundo consegue fazer. E, a menos que você esteja fazendo um álbum de fotos[1], você não vai precisar de usar mais do 10 imagens por site em Flash.

E ainda assim, olha que é muito hein

Evite também importar imagens do Phothosp e nem puxe efeitos do Illustrator para o swf direto. Sei lá, faça isso apenas para você se guiar na hora de montar o layout, mas depois delete tudo - eu geralmente costumo fazer isso em uma camada guia e depois vou as escondendo. Guide Layers não tem peso nenhum no swf mesmo...

Puxe as imagens num tamanho pré-definido pequeno
E depois, se você for aumentar o tamanho delas, use classes próprias. Daqui a pouco eu boto as classes que eu uso para tanto, mas se vocês querem ver um exemplo disso, tá aqui. E as imagens são do tamanho de 25x25 pixels. A pode olhar a qualidade, tão boas :P

Evite transformar textos em vetores
Isso costuma gerar um peso final gigantesco. Se vai usar o texto como máscara (o que 90% do povo costuma querer fazer quando faz dois break aparts no texto), é mais fácil transforma-lo em movie clip. Acredite, você vai salvar sua pele com isso.

Divida seu filme em vários outros filmes menores
Aqui não há muito como fugir. Se você colocar O SITE INTEIRO dentro de um swf, vai ficar um troço GIIIIIIIGAAAAAAAANTE, GRAAAAAAAAANDE, DESCOOOOOOOOMUNAAAAAAAAAAAL de enorme. Faça o favor de criar swf's menores para contato, home, etc, etc, etc. E, se você estiver usando AS2, USE A PORRA DA CLASSE MOVIECLIP LOADER. Assim você gera preloaders personalizados apenas no .fla principal e não tem que bater cabeça indo atrás da porra de cada sessão do site para mexer no preloader dela.

Evite efeitos do flash
Blur? Glow? 3D Native? Meu amigo, isso só presta pra consumir memória e deixar a porra mais pesada. Gente pró ou cria os próprios efeitos do ZERO ou usa os que tem prontos na internet.

Particularmente, eu fui atrás dos arquivos de configuração desses efeitos. É pura e simplesmente duplicação de movie clips, e, sinceramente, eu faço isso com 3 vezes menos ram que a Adobe gosta de consumir.

Se vai usar motion tween...
... Faça a porra do movie clip final na porra do primeiro frame e evite criar 80 filmes extras que a Adobe adora fazer.

Se vai usar action script...
Embora não pareça, actionscript é facinha. É como toda mulher nova que você come ou língua nova que você aprende: precisa de tempo e dedicação de estudo. Portanto, se vai fazer o site em AS2, por exemplo, uuuuuuse e abuse do function NomeDaMinhaFunção(att:Object)

Tá vendo esse "att:Object" aí em cima? Ele faz com que você não tenha que dizer pro flash algo mais ou menos assim, na declaração da função:
function nomeDaMinhaFunção(target1,target2,target3:String,frameParaIr:Number,callBack)

Você só chamaria esses atributos caso você realmente precisasse deles, na hora de executar a função. Algo assim:

nomeDaMinhaFunção({target:blablabla,frameParaIr:blabla})



Enfins, isso já dá uma boa otimizada na maioria dos sites que são feitos no Brasil pelos novatos estagiários de agência. Eu deveria ter dado uma aula básica de flash, mas na boa?

Vai no google


[1]E ainda assim, se for fazer um, faça essa merda com um XML!











Guilherme está montando um framework, mas deveria estar trabalhando



2 comentários:

Unknown disse...

Sempre vai ter um chinês melhor que você...

E que reclama bem menos..

Luiz disse...

Cê sabe que esses posts seus eu nem leio.