leitura do artigo >

10
nov

Animar imagem sem serrilhar

Quando se importa uma imagem (à biblioteca ou via AS) e depois se aplica uma rotação ou variação de escala nela, é muito provavel que a imagem fique serrilhada. Esta é uma duvida facil de se resolver, mas para quem ainda não está familiarizado com o Flash/AS3 pode ser um obstáculo muito chato.

Comentários (3) Comentários(5) Categorias Action Script3, Soluções

Quando se importa uma imagem (à biblioteca ou via AS) e depois se aplica uma rotação ou variação de escala nela, é muito provavel que a imagem fique serrilhada. Esta é uma duvida facil de se resolver, mas para quem ainda não está familiarizado com o Flash/AS3 pode ser um obstáculo muito chato.

Trabalhar com uma imagem da biblioteca
Se a imagem foi importada para a biblioteca, basta clicar o botão direito do mouse no icone dela (se estiver usando Mac, clique no icone com o Control pressionado) e selecione ‘propiedades’ no menu que aparecer. Vai aparecer uma janela, na qual você deve selecionar a opção de suavizado (‘allow smoothing‘ em inglês).

Agora você pode arrastar a imagem diretamente ao palco, trabalhar com ela e não vai ficar serrilhada. Porém, essa opção só serve pro caso de arrastar a imagem da biblioteca ao palco, porque se você especificar um nome de classe (como na imagem acima: ‘Smile’) para poder trabalhar com varias instancias através do AS, você vai precisar usar a classe Bitmap, do mesmo jeito que se faz quando se trabalha com uma imagem de um arquivo externo.

Trabalhar com uma imagem de um arquivo externo
Se a imagem é um arquivo externo, depois de carrega-la pela classe Loader, use o conteúdo da mesma para definir o parâmetro BitmapData de um objeto da classe Bitmap. Depois, a esse objeto Bitmap defina a propiedade ‘smoothing = true‘. Exemplo:

1
2
3
4
5
6
7
8
9
10
11
var bm:Bitmap;
 
var loader:Loader = new Loader();
	loader.load(new URLRequest("das.gif"));
	loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
 
function loaderComplete(e:Event) {
	bm = Bitmap(e.currentTarget.loader.content);
	bm.smoothing = true;
	addChild(bm)
}

Assim, você pode trabalhar com a imagem (através do objeto da classe Bitmap) e ela não vai ficar serrilhada.

Exemplo de imagem com e sem smoothing:

smoothing example

No exemplo acima, trabalhei com a imagem aumentando de tamanho para poder mostrar a diferença entre um modo e outro. Porém, o ideal é importar a imagem ao tamanho máximo que for ser visualizada e usar o smoothing apenas para ela não perder qualidade quando for diminuir de tamanho, porque aumentando vai perder qualidade dos detalhes, mesmo com o smoothing ativado.

Postado em 10-11-2009 por Igor Amendola
em Action Script3, Soluções

Share/Save/Bookmark

Comentários

  • Rodrigo Lucas - Ne disse:
    em 11 de novembro de 2009

    Vlw a dica ;D
    ps: que propaganda do UBA hein ?
    hauhauha :)

  • Eder Lima disse:
    em 11 de novembro de 2009

    Aê Igoorrr!!
    Mais uma dica que o pessoal vai aproveitar bastante, super útil.

    Esse emoticon é demais, ficou super engraçado!!
    []‘s

  • Tweets that mention Animar imagem sem serrilhar | FlashPedia -- Topsy.com disse:
    em 11 de novembro de 2009

    [...] This post was mentioned on Twitter by Flash Pedia, Eder Lima. Eder Lima said: Post novo do Igor na #FlashPedia "Animar imagens sem serrilhar" – > http://bit.ly/3q1the [...]

  • Bruno disse:
    em 12 de novembro de 2009

    DASSSSSSSSSSSS!!!!
    *-*

  • Pedro Lins disse:
    em 12 de novembro de 2009

    Muito bacana, isso realmente é chato quando falta familiaridade.
    Vou espalhar!

 Escreva um Comentário

Seu nome

E-mail (não será publicado) (obrigatório)

Website

Comente

Spam protection by WP Captcha-Free