Comunidad de diseño web y desarrollo en internet online

Máscara de Archivos Externos - {MovieClipLoader & setMask}

Citar            
MensajeEscrito el 14 Jul 2011 03:15 pm
Saludos Colegas de Cristalab.-

En el siguiente tutorial explicaré paso a paso como:

Crear una máscara a partir del uso de dos archivos externos.


El Problema:
Crear un máscara con archivos con archivos en el escenario resulta sencillo, igualmente al incluirlos mediante attach desde la biblioteca...la "guafafa" se presenta al querer hacerlo desde archivos externos. Para ello utilizaremos la clase moviecliploader y steMask.

¿Qué haremos en este tutorial?
Crearemos una mascara a partir de un archivo externo y le aplicaremos dos archivos diferentes como textura. Intercambiandolas mediante botones.

Preparando lo Necesario:
Crea un carpeta para almacenar todos los archivos allí

1) Crear la Textura 1



Tengamos en cuenta que todos los archivos se deben crear en las mismas proporciones de manera que encajen como quieres. Para este ejemplo se utilizó 550x400. Aca solo haz la textura que quieres enmascarar y publicamos para generar el SWF

2) Crear la Textura 2



Aqui solo dibujar la textura 2 y publicamos para generar el SWF

3) Crear el Enmascarador



Ok, aqui dibujaremos lo que servirá como mascara (El que contendrá las texturas) Publiquemos para generar el SWF

4) Crear la Pelicula Principal



Esta va a ser la pelicula principal y contendrá lo siguiente: 2 Botones que serviran para aplicar las texturas, "YO le coloque el sombreado de la palabra MASK por estetica y presentar un mejor efecto", tiene dos capas una para el fondo y uno para el script...Muy bien prosigamos

ActionScript (AS2)


{Script en linea de tiempo principal}
Primero crearemos un clip de pelicula vacío

Código ActionScript :

this.createEmptyMovieClip("mcImage", this.getNextHighestDepth());

createEmptyMovieClip();
Crea un clip de película vacío como elemento secundario de un clip de película existente. Este método se comporta de forma similar al método attachMovie(), aunque no es necesario proporcionar un identificador de vinculación externo para el nuevo clip de película. El punto de registro de un clip de película vacío recién creado es la esquina superior izquierda.


En el codigo anterior de crea en "this" (pelicula principal) un clip vacio que se llamara "mcImage" y se le asignara la profundidad delante de todos los demás.
Ahora creamos un variable tipo texto con el nombre del archivo externo que queremos cargar en este caso "textura1.swf"

Código ActionScript :

var sURL:String = "textura1.swf";

Crearemos un segundo clip vacio y le cargaremos la pelicula que servira como mascara

Código ActionScript :

this.createEmptyMovieClip("mcMask", this.getNextHighestDepth());
mcMask.loadMovie("mascara.swf")

Ahora crearemos el MoveclipLoader!! lo primero les invito a profundizar sobre su uso y eventos.
MoveclipLoader
Esta clase le permite implementar funciones callback de detector que proporcionan información de estado mientras se están cargando archivos SWF, JPEG, GIF o PNG en clips de película. Para utilizar las funciones MovieClipLoader, utilice MovieClipLoader.loadClip() en lugar de loadMovie() o MovieClip.loadMovie() para cargar archivos SWF.
Resumen de eventos
Evento
    onLoadComplete = function([target_mc: MovieClip])
    onLoadError = function(target_mc: MovieClip, errorCode: String, [httpStatus: Number])
    onLoadInit = function([target_mc: MovieClip])
    onLoadProgress = function([target_mc: MovieClip], loadedBytes: Number, totalBytes: Number)
    onLoadStart = function([target_mc: MovieClip]) {}


Código ActionScript :

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
onLoadComplete = function () {
    mcImage.setMask(mcMask);
};
mcLoader.loadClip(sURL, mcImage);
stop();

Se crea una variable tipo moviecliploader, se le agrega el listener y con el evento Onloadcomplete (Cuando se carge todo) eanmascaramos mediante setMask() "mcImage" con "mcMask" que son los dos clip vacios que creamos finalmente cargamos a mcimagen el sURL; es decir la textura. el codigo en el fotograma debera quedar así:

Código ActionScript :

//Crear Fotograma Vacío
this.createEmptyMovieClip("mcImage", this.getNextHighestDepth());
//Asignar a variable la URL de la textura
var sURL:String = "textura1.swf";
//Crear segundo Clip vacio
this.createEmptyMovieClip("mcMask", this.getNextHighestDepth());
//carga el clip de mascara
mcMask.loadMovie("mascara.swf")
//crear el Moviecliploader
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
onLoadComplete = function () {
    mcImage.setMask(mcMask);
};
mcLoader.loadClip(sURL, mcImage);
stop();


Prueben la pelicula debera mostrar esto:

Ahora queremos es poder intercambiarlas mediante los botones pues en realidad es bastante sencillo...
Solo debemos cambiar el valor de la variable "sURL" y ejecutar nuevamente la carga en el mcLoader, quedaria asi el codigo del boton:

Código ActionScript :

on (release) {
   var sURL:String = "textura2.swf";
   _root.mcLoader.loadClip(_root.sURL, _root.mcImage);
}

Pruebe la pelicula y LISTO!!! ya tenemos nuestra mascar con archivos externos


Bueno este fue mi primer aporte a la comunidad que me ha contribuido tanto, espero sea de ayuda para los CL!

Miguel García - Anigrama
Venezuela

Por Anigrama

44 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Jul 2011 10:06 pm
el tutorial se ve muy bien, pero lamentablemente no pasamos mas a portada tutos de action script 2.

saludos! movido a aportes

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

chrome

 

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