Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/11/2005, 22:30
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Bueno, creo que lo he conseguido, te voy a poner como lo he hecho, aunque no sé si lo entenderás porque soy nuevo en flash y no sé si me explicaré bien...

Primero en tu clip de pelicula principal, tienes que crear un mc que será el que nos hará de máscara.

Código:
this.createEmptyMovieClip('otro',1);
loadMovie("trivial.swf",otro);
this.createEmptyMovieClip('cuadrado_mascara',2);
_root.cuadrado_mascara.moveTo(100,100);
_root.cuadrado_mascara.beginFill(0xffffff)
_root.cuadrado_mascara.lineTo(550,100);
_root.cuadrado_mascara.lineTo(550,550);
_root.cuadrado_mascara.lineTo(100,550);
_root.cuadrado_mascara.endFill();
Lo que hemos hecho es crear un clip de película que nos servirá posteriormente de máscara con nombre de instancia cuadrado_mascara que comprende como area de la máscara un rectángulo desde la coordenada 100,100 hasta la coordenada 550,550. Pero tu debes de configurar esa máscara para definir el area dónde quieres que se vea tu clip de pelicula. Es decir

Luego tb hemos llamado desde el clip principal al swf que contiene el swf que dices que aparece arriba a abajo. En este caso lo he llamado trivial.swf

Esto sería todo para el clip de película principal.

Luego en la pelicula que corresponde al swf que cargas debes de aplicar la máscara creada en el clip principal. Y dado lo que yo he entendido, para utilizar la función setMask es necesario que la máscara se aplique a un clip de pelicula. Es decir, que las partes de tu swf que quieras enmascarar deberán de estar dentro de un mc.

Para enmascarar el mc desde las acciones del mc
Código:
onClipEvent(load)
{ 
	this.setMask(_root.cuadrado_mascara);
}
Para enmascarar el mc desde las acciones del fotograma
Código:
	nombreInstanciaClipPelicula.setMask(_root.cuadrado_mascara);
Lo único que hacemos es referenciar la máscara creada en la película principal anteponiendo _root, y dependiendo de dónde lo declaremos referenciamos el mc como this(si lo declaramos en el mismo mc) o como su nombre de instancia si es desde fuera(en el ejemplo que te dejo el nombre de instancia del mc a enmascarar es dentro).

Te dejo un ejemplillo http://www.quatricomedia.com/tecnolo...sh/mascara.rar

Por cierto que parece ser que con éste método un clip de pelicula sólo puede enmascarar a otro, es decir sólo a uno, no puede servir de máscara a más de uno. Otra cosa que me he dado cuenta es que esto no significa que si el clip de pelicula que se va a enmascarar contiene otros clips de peliculas, estos no se enmascaren, ya que al pertener al enmascarado si lo harían. Juas esto parece un trabalenguas.

Y por último una cosilla que me he dado cuenta, es que parace que las capas de texto no reaccionana bien con este método, y la solución es meterlas dentro de un clip de película(dentro a su vez del que se va a enmascarar), y luego ya se pueden incluso hacer interpolaciones de movimiento :)

A ver si hay suerte y me he explicado bien y te sirve el ejemplillo(es que estoy empezando con flash y de momento estoy verdecillo :S)

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 14/11/2005 a las 23:03