Comunidad de diseño web y desarrollo en internet online

Problema MovieClips en HTML

Citar            
MensajeEscrito el 28 Ago 2008 09:57 pm
Buenas, mirad tengo una aplicación hecha en actionscrip 2. Al generar el html va bien si no ponga la opción de redimesionarla al cambiar de tamañao la ventana del navegador. Ahora bien, si activo esa opción, al iniciar la aplicación las banderas que ondeaban para cambiar el idioma no ondean, están estáticas. No veo la lógica de que queden estáticos si activo esa opción.

Si alguien me pudiera ayudar se lo agradecería. :) gracias

Por rothikv

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ago 2008 08:59 am
Postea el código que utilizas para que las banderas ondeen

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 29 Ago 2008 02:28 pm
Ahí va el código:

[import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;

// Definimos los datos necesarios para crear 2 banderas ondeantes, la española y la inglesa.
// Velocidad viento (alabeo)
var velocidadEsp:Number = 12;
var velocidadIng:Number = 12;

// Nº de ondas que se crean (sombra);
var ondasEsp:Number = 60;
var ondasIng:Number = 60;

// Cargamos cada mapa de bits en una variable
imgEsp = BitmapData.loadBitmap("banderaEspañola.jpg");
imgIng = BitmapData.loadBitmap("banderaInglesa.jpg");

// Definimos la anchura de cada imagen
var wEsp:Number = imgEsp.width;
var wIng:Number = imgIng.width;

// Definimos la altura de cada imagen
var hEsp:Number = 4*imgEsp.height/3;
var hIng:Number = 4*imgIng.height/3;

// Creamos un nuevo objeto BitmapData con la anchura y altura especificada de cada imagen
var marcoEsp:BitmapData = new BitmapData( wEsp, hEsp, true, 0 );
var marcoIng:BitmapData = new BitmapData( wIng, hIng, true, 0 );

// Realizamos unas copias exactas de los BitmapData creados anteriormente
var olaEsp:BitmapData = marcoEsp.clone();
var olaIng:BitmapData = marcoIng.clone();

// Dibujamos las imágenes mediante el procesador de vectores de Flash Player
marcoEsp.draw( imgEsp, new Matrix( 1, 0, 0, 1, 0, hEsp/7 ));
marcoIng.draw( imgIng, new Matrix( 1, 0, 0, 1, 0, hIng/7 ));

// Clonamos las imágenes dibujadas anteriormente
var marco2Esp:BitmapData = marcoEsp.clone();
var marco2Ing:BitmapData = marcoIng.clone();

// Creamos 2 movieclips a los cuales adjuntaremos el marco o imagen clonada respectivamente
createEmptyMovieClip( "banderaEspañola", this.getNextHighestDepth() );
createEmptyMovieClip( "banderaInglesa", this.getNextHighestDepth() );
banderaEspañola.attachBitmap( marcoEsp, 0 );
banderaInglesa.attachBitmap( marcoIng, 0 );

// Posicionamos ambos movieclips en la pantalla
banderaEspañola._x = 227.3;
banderaEspañola._y = 256.0;
banderaInglesa._x = 432.0;
banderaInglesa._y = 255.5;

// Creamos 2 puntos de coordenadas (0,0)
var offEsp:Point = new Point();
var offIng:Point = new Point();

ondasEsp = ondasEsp*.16;
velocidadEsp = velocidadEsp*.26;
ondasIng = ondasIng*.16;
velocidadIng = velocidadIng*.26;

/* Creamos un nuevo DisplacementMapFilter que utiliza los valores de píxel del objeto BitmapData
especificado (llamado imagen del mapa de desplazamiento) para realizar un desplazamiento de
un objeto en el escenario, como una instancia MovieClip. Utilizamos este filtro para
conseguir un efecto combado o moteado en una instancia BitmapData.

new DisplacementMapFilter( mapBitmap:BitmapData, mapPoint:Point, componentX:Number,
componentY:Number, scaleX:Number, scaleY:Number, [mode:String], [color:Number],
[alpha:Number]);
*/
var desMapEsp:DisplacementMapFilter = new DisplacementMapFilter( olaEsp, null, 8, 8, 24, 20, "color", 0, 0 );
var desMapIng:DisplacementMapFilter = new DisplacementMapFilter( olaIng, null, 8, 8, 24, 20, "color", 0, 0 );

// Función que se invoca de manera repetida. Da efecto a las imágenes.
onEnterFrame = function ()
{
offEsp.x -= velocidadEsp*wEsp/50;
offEsp.y -= velocidadEsp*wEsp/100;
offIng.x -= velocidadIng*wIng/50;
offIng.y -= velocidadIng*wIng/100;

// Aplicamos el efecto de ruido Perlin sobre cada imagen clonada
olaEsp.perlinNoise( wEsp, hEsp*2, 1, 0, true, true, 8, true, [offEsp] );
olaIng.perlinNoise( wIng, hIng*2, 1, 0, true, true, 8, true, [offIng] );

// Realizamos otra clonación de cada imagen. Todo esto para aplicar varios efectos superpuestos
var ola2Esp:BitmapData = olaEsp.clone();
var ola2Ing:BitmapData = olaIng.clone();

/* Aplicamos sobre la última imagen clonada el efecto threshold el cual permite aislar y
reemplazar rangos de color en una imagen y realizar otras operaciones lógicas en los
píxeles de una imagen */
ola2Esp.threshold( marcoEsp, marcoEsp.rectangle, null, "<",0xff000000 , 0 );
ola2Ing.threshold( marcoIng, marcoIng.rectangle, null, "<",0xff000000 , 0 );

// Dibujamos las imágenes con los efectos realiados
marcoEsp.draw( marco2Esp );
marcoIng.draw( marco2Ing );

/* Nota: es posible añadir uno o mas "draw" con un blendmode distinto para
reforzar el brillo, oscurecer u otro tipo de efectos */
marcoEsp.draw( ola2Esp, new Matrix(), null, 6 );
marcoIng.draw( ola2Ing, new Matrix(), null, 6 );

// Asociamos al clip de película todos los efectos realizados
banderaEspañola.filters = [desMapEsp];
banderaInglesa.filters = [desMapIng];
}]

Por rothikv

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ago 2008 02:29 pm

Código :

import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;

// Definimos los datos necesarios para crear 2 banderas ondeantes, la española y la inglesa.
// Velocidad viento (alabeo)
var velocidadEsp:Number = 12;
var velocidadIng:Number = 12;

// Nº de ondas que se crean (sombra);
var ondasEsp:Number = 60;
var ondasIng:Number = 60;

// Cargamos cada mapa de bits en una variable
imgEsp = BitmapData.loadBitmap("banderaEspañola.jpg");
imgIng = BitmapData.loadBitmap("banderaInglesa.jpg");

// Definimos la anchura de cada imagen
var wEsp:Number = imgEsp.width;
var wIng:Number = imgIng.width;

// Definimos la altura de cada imagen
var hEsp:Number = 4*imgEsp.height/3;
var hIng:Number = 4*imgIng.height/3;

// Creamos un nuevo objeto BitmapData con la anchura y altura especificada de cada imagen
var marcoEsp:BitmapData = new BitmapData( wEsp, hEsp, true, 0 ); 
var marcoIng:BitmapData = new BitmapData( wIng, hIng, true, 0 ); 

// Realizamos unas copias exactas de los BitmapData creados anteriormente
var olaEsp:BitmapData = marcoEsp.clone();
var olaIng:BitmapData = marcoIng.clone();

// Dibujamos las imágenes mediante el procesador de vectores de Flash Player
marcoEsp.draw( imgEsp, new Matrix( 1, 0, 0, 1, 0, hEsp/7 ));
marcoIng.draw( imgIng, new Matrix( 1, 0, 0, 1, 0, hIng/7 ));

// Clonamos las imágenes dibujadas anteriormente
var marco2Esp:BitmapData = marcoEsp.clone();
var marco2Ing:BitmapData = marcoIng.clone();

// Creamos 2 movieclips a los cuales adjuntaremos el marco o imagen clonada respectivamente
createEmptyMovieClip( "banderaEspañola", this.getNextHighestDepth() );
createEmptyMovieClip( "banderaInglesa", this.getNextHighestDepth() );
banderaEspañola.attachBitmap( marcoEsp, 0 );
banderaInglesa.attachBitmap( marcoIng, 0 );

// Posicionamos ambos movieclips en la pantalla
banderaEspañola._x = 227.3;
banderaEspañola._y = 256.0;
banderaInglesa._x = 432.0;
banderaInglesa._y = 255.5;

// Creamos 2 puntos de coordenadas (0,0)
var offEsp:Point = new Point();
var offIng:Point = new Point();

ondasEsp = ondasEsp*.16; 
velocidadEsp = velocidadEsp*.26;
ondasIng = ondasIng*.16; 
velocidadIng = velocidadIng*.26;

/* Creamos un nuevo DisplacementMapFilter que utiliza los valores de píxel del objeto BitmapData
especificado (llamado imagen del mapa de desplazamiento) para realizar un desplazamiento de
un objeto en el escenario, como una instancia MovieClip. Utilizamos este filtro para
conseguir un efecto combado o moteado en una instancia BitmapData. 

new DisplacementMapFilter( mapBitmap:BitmapData, mapPoint:Point, componentX:Number,
      componentY:Number, scaleX:Number, scaleY:Number, [mode:String], [color:Number],
         [alpha:Number]);
*/
var desMapEsp:DisplacementMapFilter = new DisplacementMapFilter( olaEsp, null, 8, 8, 24, 20, "color", 0, 0 );
var desMapIng:DisplacementMapFilter = new DisplacementMapFilter( olaIng, null, 8, 8, 24, 20, "color", 0, 0 );

// Función que se invoca de manera repetida. Da efecto a las imágenes.
onEnterFrame = function () 
{
   offEsp.x -= velocidadEsp*wEsp/50; 
     offEsp.y -= velocidadEsp*wEsp/100;
   offIng.x -= velocidadIng*wIng/50; 
     offIng.y -= velocidadIng*wIng/100;
   
      // Aplicamos el efecto de ruido Perlin sobre cada imagen clonada
      olaEsp.perlinNoise( wEsp, hEsp*2, 1, 0, true, true, 8, true, [offEsp] );
   olaIng.perlinNoise( wIng, hIng*2, 1, 0, true, true, 8, true, [offIng] );
   
      // Realizamos otra clonación de cada imagen. Todo esto para aplicar varios efectos superpuestos
      var ola2Esp:BitmapData = olaEsp.clone();
   var ola2Ing:BitmapData = olaIng.clone();
   
      /* Aplicamos sobre la última imagen clonada el efecto threshold el cual permite aislar y
      reemplazar rangos de color en una imagen y realizar otras operaciones lógicas en los
      píxeles de una imagen */
      ola2Esp.threshold( marcoEsp, marcoEsp.rectangle, null, "<",0xff000000 , 0 );
   ola2Ing.threshold( marcoIng, marcoIng.rectangle, null, "<",0xff000000 , 0 );
   
      // Dibujamos las imágenes con los efectos realiados
      marcoEsp.draw( marco2Esp );
   marcoIng.draw( marco2Ing );
   
      /* Nota: es posible añadir uno o mas "draw" con un blendmode distinto para
       reforzar el brillo, oscurecer u otro tipo de efectos */
      marcoEsp.draw( ola2Esp, new Matrix(), null, 6 );
   marcoIng.draw( ola2Ing, new Matrix(), null, 6 );
   
   // Asociamos al clip de película todos los efectos realizados
      banderaEspañola.filters = [desMapEsp];
   banderaInglesa.filters = [desMapIng];
}


Perdona q se m había ido la pinza antes. Gracias

Por rothikv

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ago 2008 04:16 pm
Tu código no le veo problemas, debe ser entonces que cuando aumentas las escala de tu movie, escalas el contenido de este, prueba poner la escala en false a ver si te sigue pasando lo mismo:

Código ActionScript :

Stage.scaleMode = "noScale";

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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