Você está na página 1de 3

Distorcer clips com ActionScript

11/06/17 09:44

HOSPEDAGEM DE SITES

LOJA DE APLICATIVOS

CLOUD COMPUTING

LOJA VIRTUAL

REGISTRE SEU DOMNIO .COM R$14,90 www.

.com

OK

Pesquisar

Home

Monotemticos
Flash

Sees

Comunidade
Usurios : login / registro Create Flash Pageflip Site Web Flash Flash XML ActionScript

Anncios Google

CriarWeb.com > Manuais > Manual de Flash

Manuais relacionados
Manual de Flash
(33 artigos) Ver o ndice do manual Baixar o manual

Distorcer clips com ActionScript


Em Flash as transformaes bsicas que podemos aplicar a um clip so mudar a posio, a rotao e a escala. Por Tutoriales-flash.com Publicado em: 25/9/08

Categorias relacionadas
Flash

O autor Web Design www.imaginevirtual.com Criao e desenvolvimento de sites Xhtml/Css Php Programao Web Based Sofre de surdez? www.implantes-auditivos.com Venha descobrir na GAES os implantes auditivos osteoancorados. Tsunami TIG 76W-65 www.tsunami.pt Expoente mximo para gamers Processador Intel Core i5.Veja j
Valorize este artigo: 0 votos Tutoriales-flash.com http://www.tutoriales-flash.com/

Entretanto, se queremos distorcer um clip de filme veremos que com as ferramentas que nos proporciona Flash no poderemos faz-lo diretamente. Neste documento iremos facilitar uma maneira de distorcer um clip de filme em tempo de execuo com ActionScript. Na verdade o clip original permanecer inaltervel, o que faremos ser criar outro clip com a distoro aplicada e ocultar o primeiro. O processo se basear na classe bitmapData de ActionScript. A classe bitmapData nos permite armazenar e manipular os pixels que compe um clip.

Cursos online
Cursos de programao e design: PHP Avanado PHP Orientado a objetos Lgica Orientada a Objetos JavaScript Oracle SQL Server 2008 PostgreSQL SEO UML C# - CSharp bsico Lgica de Programao CSS PHP Segurana Java JSE / J2SE XHTML JQuery Microformats Java JEE / J2EE Avanado

http://www.criarweb.com/artigos/distorcer-clips-com-actionscript.html

Pgina 1 de 3

Distorcer clips com ActionScript

11/06/17 09:44

COMO FAZ-LO. A distoro se far segundo este esquema onde cada bloco representa uma coluna de pixels:

Decomporemos a representao grfica do clip original em filas ou colunas segundo seja a distoro horizontal ou vertical. Depois modificaremos as dimenses destes segmentos e se gerar a aparncia de distoro. Vamos explicar s a distoro vertical, j que a distoro horizontal praticamente igual e as diferenas no cdigo so mnimas como se poder comprovar mais adiante. O primeiro passo consiste em armazenar em um objeto bitmapData os pixels do clip a distorcer. Chamaremos de bitmap_1. Depois vamos criar um clip vazio que conter o clip com a distoro aplicada. Seu identificador ser conteiner. Para criar a distoro vamos descompor a rede de pixels do objeto bitmap_1 em suas colunas, de modo que ficar dentro do clip continer uma srie clips de um pixel de largura e a mesma altura que o original. Para copiar estes pixels, nos apoiamos em outros objetos bitmapData, que se correspondem com o identificador bitmap_temp que h dentro do loop no cdigo.
// importamos as classes necessrias import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; MovieClip.prototype.distorcerV = function(distorcao:Number) { var largura:Number = Math.round(this._width); var altura:Number = Math.round(this._height); var transparent:Boolean = true; var fillColor:Number = 0x00000000; // objeto bitmapData onde armazenamos a info do clip a distorcer var bitmap_1:BitmapData = new BitmapData(largura, altura, transparent, fillColor); bitmap_1.draw(this); this._visible = false; distorcido_mc.removeMovieClip(); // clip onde criaremos a distoro var conteiner:MovieClip = this._parent.createEmptyMovieClip("distorcido_mc", this._parent.getNextHighestDepth(), {_x:this._x, _y:this._y}); conteiner._x = this._x; conteiner._y = this._y; for (var k:Number = 1; k<largura; k++) { var clip_temp:MovieClip = conteiner.createEmptyMovieClip("clip"+k, conteiner.getNextHighestDepth(), {_x:k, _y:0}); clip_temp._x = k; var bitmap_temp:BitmapData = new BitmapData(1, altura); bitmap_temp.copyPixels(bitmap_1,new Rectangle(k, 0, k, alto),new Point(0, 0)); clip_temp.attachBitmap(bitmap_temp,clip_temp.getNextHighestDepth(),"auto",true); clip_temp._yscale = ((k/(alto-1))*(100-distorcao))+distorcao; clip_temp._y = (altura-clip_temp._height)*0.5; } // liberamos memria bitmap_1.dispose(); };

Para distorcer um clip simplesmente h que chamar ao seu mtodo distorcerV(distorcao). O valor do parmetro distoro deve estar entre 0 e 100 seno os resultados so imprevisveis (pode-se provar de todos modos). Um exemplo seria:
meuClip.distorcerV(70);

Facilitamos o cdigo em uns arquivos .as de modo que para empreg-los voc ter duas opes: Copiar o cdigo do .as dentro de nosso filme. Usar um #include para dispor de suas funes. Com esta base o interessante provar novas formas de distoro ou inclusive combinar vrias distores. Nesta imagem se aplicou uma distoro horizontal e logo outra vertical para conseguir um efeito de
http://www.criarweb.com/artigos/distorcer-clips-com-actionscript.html Pgina 2 de 3

Distorcer clips com ActionScript

11/06/17 09:44

perspectiva.

Download dos arquivos .as: distorsion.zip Quer ouvir melhor? Aprenda os 5 Passos para uma melhor audio. www.5passosaudicao.com Problemas Auditivos? Aparelhos Auditivos ao melhor preo num Centro GAES, perto de si. www.saude-auditiva.com SQL Scripter Generate T-SQL data scripts, Export to CSV/Text, PDF, Excel, CSV to SQL www.sqlscripter.com Antena Radio Procura Antenas de Rdio? Encontre aqui a soluo ideal! pai.pt/antenas

Acrescentar um comentrio ao artigo

Manual: Manual de Flash


Carregamento de clips externos em Flash. A classe MovieClipLoader Tutorial para fazer um livro de visitas com Flash e ASP

Comentrios do artigo
Foi enviado 1 comentrio ao artigo 1 comentrio no revisado 0 comentrios revisados Acrescentar um comentrio ao artigo

Home | Sobre ns | Copyright | Anuncie | Entrar em contato

<criarweb.com>

http://www.criarweb.com/artigos/distorcer-clips-com-actionscript.html

Pgina 3 de 3

Você também pode gostar