Comunidad de diseño web y desarrollo en internet online

carga imagen externa en efecto bandera

Citar            
MensajeEscrito el 13 Jul 2008 10:00 pm
bueno aca en cristalab hay un ejemplo de una bandera flamiando:

Código :

/*BANDERAS  by TESEO 2006
 Importar cualquier imagen (jpg,png,bmp,gif) y vincular en la
 bilbioteca con nombre: imagen. Ajustar los parámetros de
 brillo, velocidad y nº de ondas según gusto.  LISTO.*/
import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;
br=180;// brillo de 0 a 256 
velo=10;//velocidad viento 
ond= 10;//nº de ondas que se crean   
img = BitmapData.loadBitmap("imagen");
w = img.width; h = 4*img.height/3;
marco = new BitmapData(w,h,true,0);ola = marco.clone()
marco.draw(img,new Matrix(1,0,0,1,0,h/7)); marco2 = marco.clone();
createEmptyMovieClip("efecto",this.getNextHighestDepth());
efecto.attachBitmap(marco,0);
offset = new Point();ond= ond*.16; velo = velo*.26
desMap = new DisplacementMapFilter(ola,new Point(),8,8,24,20,"clamp");
onEnterFrame = function (){
  offset.x -= velo*w/50; offset.y -=velo*w/100;
  ola.perlinNoise(w,2*h,1,0,true,true,8,true,[offset]);
  marco.perlinNoise(w/ond,h/(ond*2),1,0,true,true,1|2|4,true,[offset]);
  marco.merge(marco2,new Rectangle(0,0,w,h),new Point(),br,br,br,256);
  efecto.filters = [desMap];
};


bueno y despues ahi que puner una imagen en la biblioteca y darle vinculación con el nombre "imagen" y luego es llamado por esto que esta en el codigo:

img = BitmapData.loadBitmap("imagen");

simple, lo que hace es que a img se le carge la imagen en biblioteca vinculada en forma BitmapData...

Yo necesito que esta imagen no se cargue de la biblioteca si no de forma externa, e encontrado varios ejemplos de como cargar la imagen de forma externa en bitmapdata que funcionan correctamente, pero mi problema es que no logro aplicarlo a este codigo.. estos son los dos codigos:

Código :

import flash.display.BitmapData;

function loadImage(imagen:String):Void{

   var image_mc:MovieClip = this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
   var bitmap_mc:MovieClip = _root.createEmptyMovieClip("bitmap_mc", this.getNextHighestDepth());
         
   var loader:MovieClipLoader = new MovieClipLoader();
   var listener:Object = new Object();
   
   listener.onLoadInit = function(target:MovieClip, httpStatus:Number){
      var img:BitmapData = new BitmapData(image_mc._width, image_mc._height);
      img.draw(image_mc)
      bitmap_mc.attachBitmap(img, 0);
     image_mc.removeMovieClip();
   }
   loader.addListener(listener);
   loader.loadClip(imagen, image_mc);
}

loadImage("Imagenes/macedonia.gif");


y el segundo

Código :

this.createEmptyMovieClip("temp",this.getNextHighestDepth());
loader = new MovieClipLoader()
loader.addListener(this)
loader.loadClip("Imagenes/macedonia.gif",temp);
function onLoadInit(){
   img = new BitmapData(temp._width, temp._height,true,0x00FFFFFF)
   img.draw(temp)
   temp.removeMovieClip()
}


alguien me puede dar una mano? hace dos meses que estoy tratando de hacerlo pero no puedo :S

Byee Saludos y gracias desde ya!!

Por wawi

325 de clabLevel

2 tutoriales

 

Argentina

firefox
Citar            
MensajeEscrito el 14 Jul 2008 12:04 pm
Solamente debes ejecutar todo después que se cargue la imagen:

Código :

/*BANDERAS  by TESEO 2006
 Importar cualquier imagen (jpg,png,bmp,gif) y vincular en la
 bilbioteca con nombre: imagen. Ajustar los parámetros de
 brillo, velocidad y nº de ondas según gusto.  LISTO.*/
import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;

//---Declarar variables
var br:Number = 180;// brillo de 0 a 256 
var velo:Number = 10;//velocidad viento 
var ond:Number = 10;//nº de ondas que se crean 

var img:BitmapData;
var w:Number;
var h:Number;
var marco:BitmapData;
var ola:BitmapData;
var marco2:BitmapData;
var efecto:MovieClip = this.createEmptyMovieClip("efecto", this.getNextHighestDepth());
var offset:Point = new Point();;
var desMap:DisplacementMapFilter;

//---Función de leer la imagen
function loadImage(imagen:String):Void{

   var image_mc:MovieClip = this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
       
   var loader:MovieClipLoader = new MovieClipLoader();
   var listener:Object = new Object();
   
   listener.onLoadInit = function(target:MovieClip, httpStatus:Number){
      
      img = new BitmapData(target._width, target._height);
      img.draw(target);
      
      w = img.width;
      h = 4*img.height/3;
      
      marco = new BitmapData(w, h, true, 0);
      ola = marco.clone();
      
      marco.draw(img, new Matrix(1, 0, 0, 1, 0, h/7));
      marco2 = marco.clone();
      
      efecto.attachBitmap(marco, 0);
      
      ond *= .16;
      velo *= .26;
      
      desMap = new DisplacementMapFilter(ola, new Point(), 8, 8, 24, 20, "clamp");
      
      image_mc.removeMovieClip();
      
      startMovement();
   }
   
   loader.addListener(listener);
   loader.loadClip(imagen, image_mc);
}

//---Comenzar el movimiento
function startMovement():Void{
   
   this.onEnterFrame = function ():Void{
      
      offset.x -= velo*w/50;
      offset.y -= velo*w/100;
      
      ola.perlinNoise(w,2*h,1,0,true,true,8,true,[offset]);
      
      marco.perlinNoise(w/ond,h/(ond*2),1,0,true,true,1 | 2 | 4,true,[offset]);
      
      marco.merge(marco2,new Rectangle(0, 0, w, h),new Point(),br,br,br,256);
      
      efecto.filters = [desMap];
      
   };
}

loadImage("images/example.jpg");

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Jul 2008 11:36 pm
muchas gracias, de todos modos use el segundo codigo porque es mas corto, y en realidad mi codigo no es para una bandera, si no que es una carga global, el numero depende de una lectura en XML, lo que me complicaba el tema del for.. ya que esa funcion dentro de un for no funciona de manera que tuve que utilizar pueras funciones XD

Igual muchas gracias me hiciste dar cuenta de muchas cosas

Byee Saludos!!! :D

Por wawi

325 de clabLevel

2 tutoriales

 

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.