Desde que conocí a un nuevo amigo, olvidé a otro viejo, con el que pasé muchos momentos. El nuevo amigo me trajo cosas nuevas y diversión, pero yo desconsideradamente olvidé a mi viejo amigo. Hoy el remordimiento me ha ganado y he buscado a mi viejo amigo.
La verdad que hace tiempo que no me ponía a jugar con actionscript, he tenido demasiado trabajo. Pero hoy después de molestarme por un par de situaciones, decidí distraerme creando un efecto de mosaico (similar al de photoshop) y jugar un poco con este.
Aquí el resultado:
El código que he utilizado es el siguiente:
Los dos ciclos for, cortan la imagen, aplican el efecto de mosaico y la envían a las funciones que mueven los mosaicos.
Código :
import flash.display.*; import flash.geom.*; import flash.filters.*; var bmpImage:BitmapData; var thumb_image:BitmapData; var i:Number; var j:Number; var imgWidth:Number; var imgHeight:Number; var thumbSize:Number; var _curLevel:Number; bmpImage = BitmapData.loadBitmap("Pattern"); imgWidth = bmpImage.width; imgHeight = bmpImage.height; thumbSize = 25; blurIntense = 10; _curLevel = 0; for(j=0; j<imgHeight; j+=thumbSize) { for(i=0; i<imgWidth; i+=thumbSize) { thumb_image = new BitmapData(thumbSize, thumbSize, true); thumb_image.copyPixels(bmpImage, new Rectangle(i, j, i+thumbSize, j+thumbSize), new Point(0, 0)); //thumb_image.applyFilter(thumb_image, thumb_image.rectangle, new Point(0,0),new BlurFilter(blurIntense, blurIntense, 1)); thumb_image.applyFilter(thumb_image, thumb_image.rectangle, new Point(0,0),new BevelFilter(2, 45, 0xFFFFFF, .2, 0x000000, .2, blurIntense, blurIntense, 1, 3, "inner")); nueClip = createEmptyMovieClip("image_holder" + _curLevel, _curLevel); nueClip._x = i; nueClip._y = j; nueClip.attachBitmap(thumb_image, 0); breakIt(nueClip, _curLevel); _curLevel++; } } function breakIt(target:MovieClip) { target.got = function() { dissolve(this); } target.downIt = downIt; target.inter = setInterval(target,"got", _curLevel * 750); } function dissolve(target:MovieClip) { target._xscale = 110; target._yscale = 110; target.swapDepths(getNextHighestDepth()); clearInterval(target.inter); target.interDown = setInterval(target, "downIt", 40); } function downIt() { this._xscale += 5; this._yscale += 5; this._y += 10; this._x += 7; this._alpha -= 2; this._rotation += 6; if( this._y > Stage.height and this._x > Stage.width) clearInterval(this.interDown); }
Para probarlo, solo agreguen a la biblioteca una imagen, y la vinculan con el id "Pattern", es todo.
Los mosaicos seguramente les servirán para crear una infinidad de efectos más, sólo es cuestión de imaginación.
saludos
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Razen el 25 de Julio de 2007
Disculpa mi ignorancia :s pero es que soy nuevo en esto de AtcionScript.
El asunto es que al poner el codigo me da los siguientes errores:
" **Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 5: No se ha podido cargar la clase 'BitmapData'.
var bmpImage:BitmapData;
**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 6: No se ha podido cargar la clase 'BitmapData'.
var thumb_image:BitmapData;
Total de errores de ActionScript: 2 Errores comunicados: 2 "
Y mi pregunta es ¿Porque?(o mejor dicho ¿como solucionarlo?)
Gracias de todos modos.
Por Dano el 25 de Julio de 2007
Por juandreso el 26 de Julio de 2007
Por FeNtO el 26 de Julio de 2007
Por Zimon el 26 de Julio de 2007
Por Dano_From el 27 de Julio de 2007
saludos
Por martan el 27 de Julio de 2007
Por Norke el 27 de Julio de 2007
Por diego el 31 de Julio de 2007
Por Lucho el 19 de Agosto de 2007
Por Dano el 20 de Agosto de 2007
¿Vinculan una imagen y no un MovieClip?
Por laura el 02 de Septiembre de 2007
Por M@U el 03 de Septiembre de 2007
DanoDuke Alex Danonson... Se ve bien !!!Por eder el 16 de Septiembre de 2007
Por Ghav el 27 de Septiembre de 2007
Por Hugo el 17 de Octubre de 2007
Gracias y que siga asi esta página
Por Christian el 02 de Noviembre de 2007
Por Alma Rosa el 22 de Enero de 2008
Por Jorge Luis el 25 de Marzo de 2008
Por Johan Castañeda el 03 de Julio de 2008
Tengo una botonera que tiene un efecto 3d con action s. pero necesito que esos botones me vinculen pero no se como aver si me pueden colaborar
Por Carlos; CR el 13 de Agosto de 2008
Por danyGON el 09 de Septiembre de 2008
Por mako el 12 de Diciembre de 2008
Por dukelion el 10 de Marzo de 2010
Por hola men el 08 de Diciembre de 2010
dime ps porfa
Por hola men el 08 de Diciembre de 2010
Por ruben ortiz el 21 de Marzo de 2011
Por mando el 23 de Agosto de 2011
Por mando el 23 de Agosto de 2011