Comunidad de diseño web y desarrollo en internet online

cargas dinámicas + máscara

Citar            
MensajeEscrito el 20 Oct 2005 05:51 pm
Hola a todos, agradecería cualquier ayuda. Estoy en un punto totalmente bloqueado del programa.
Quiero hacer una máscara en una carga dinámica.
El problema que me encuentro es que no puedo hacer una máscara con el clip de película que he creado para cargar el *.swf.
He probado de todo, haciendo la clásica máscara en una capa superior, con el setMask(), lo mismo estableciendo diferentes niveles con el swapDepths() en la misma capa... y nada.
Si creo un clip de pelícuda dentro del documento, la máscara me funciona perfectamente, pero con la del clip creado para la carga no hay manera. no se me ocurre nada más.

muchas gracias y a ver si me iluminan.

salud.

Por cabra

2 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Oct 2005 06:07 pm
prueba:

1. crear un mc vacio, donde carges el swf,
2. y aplicarle la mascara al mc vacio

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox
Citar            
MensajeEscrito el 20 Oct 2005 06:18 pm
Es lo que hice. Al principio, el problema era que el clip vacío no me respeta el orden de las capas, por lo que es imposible hacer una máscara. Se me ocurrio establecer un orden dentro de la misma capa para que la máscara quedara por encima. Aquí les dejo el código.

createEmptyMovieClip("esp_mc", 1);
esp_mc.loadMovie("def.swf", 1);
esp_mc.swapDepths(7);
mascara_mc.swapDepths(8);
esp_mc.setMask(mascara_mc);

La máscara sigue sin funcionar. Como ya dije con un movie clip corriente funciona perfectamente, pero con un "createEmptyMovieClip" no tira.

Por cabra

2 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Oct 2005 06:22 pm
puse un 8, pero al cerrar el paréntesis se publicó el 8). Queda claro que es el nivel superior al 7

Por cabra

2 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 20 Oct 2005 07:09 pm
Para poder aplicar la mascara debes asegurarte que la imagen se cargo completamente, despues de eso si le puedes aplicar la mascara, no es cuestion de capas ni nada, la mascara sera un movieclip aparte.



saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Oct 2005 07:45 pm
Perfecto, el orden de las capas es importante si conviertes en máscara una capa para que enmascare la inferior. No tenía claro si el orden también era necesario si querías enmascarar con el "setMask();" duda resuelta. Por lo tanto no hará falta el "swapDepths();", porque no hay que definir orden, gracias.
De todas maneras la imagen se carga perfectamente, como comenté el problema solo surge al cargar el clip de pelícia vacío que he creado, no porque no se carge bien, sino porque la máscara no lo enmascara.

Por cabra

2 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Oct 2005 01:11 am

cabra escribió:

De todas maneras la imagen se carga perfectamente, como comenté el problema solo surge al cargar el clip de pelícia vacío que he creado, no porque no se carge bien, sino porque la máscara no lo enmascara.


Ok como dije, lo importante y enfatizo de nuevo debes ASEGURARTE que la imagen o swf se cargo completamente, vamos a darte un ejemplo sin usar loadMovie porque es un poco mas tedioso con eso, asi que lo haremos con MovieClipLoader:

Código :

var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
//Creamos un clip de pelicula vacio
_root.createEmptyMovieClip("contenedor",_root.getNextHighestDepth());
_root.contenedor._x=100; //lo posicionamos
_root.contenedor._y=100; //seguimos...

loader.loadClip("cargar.swf",contenedor); //mandamos a cargar el swf

//El evento onLoadComplete se ejecuta 
//cuando se cargo completamente la imagen o swf
//asi que alli aplicaremos la mascara
listener.onLoadComplete = function (target_mc:MovieClip){
   //atacheo la mascara
   _root.attachMovie("mask","mask1",_root.getNextHighestDepth());
   //posicionamos la mascara atacheada en la misma coordenadas
   // del contenedor
   _root.mask1._x= target_mc._x; 
   _root.mask1._y= target_mc._y;
   target_mc.setMask(_root.mask1); //aplicamos la mascara
}
loader.addListener(listener); //añadimos el listener para el MovieClipLoader



saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

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