Comunidad de diseño web y desarrollo en internet online

setMask()

Citar            
MensajeEscrito el 26 Ene 2007 08:07 pm
Tengo una animacion hecha por medio de action script que lo unico qeu ahcer es atacharme un movieClip infinatas veces....el problema es que no lo puedo aplicar ninguna mascar, ya sea por medio del metodo setMask o manualmente desde el entorno grafico de flash.
La unica forma que me permite emascarar todo es aplicandole una mascara al root:

Código :

_root.setMask(mask);

de cualquier otra forma no funciona.
Aca les mando el codigo que me me atacha infinitamente un MC al root:

function aleatorio(min:Number, max:Number):Number {
var num:Number = Math.floor(Math.random()*(max-min+1))+min;
return num;
}

var x_c:Number = aleatorio(96, 678.9);
var y_c:Number = aleatorio(189.0, 443.0);
var angulo:Number = aleatorio(0,360);

var Contacto:MovieClip = _root.attachMovie("contacto","contacto",_root.getNextHighestDepth());
Contacto._x = x_c;
Contacto._y = y_c;
Contacto._rotation = angulo;

----
en este codigo, contacto es un MC que contiene un dibujo realizado en flash, sin ninguna animacion ni nada......

Por xckon

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ene 2007 08:12 pm
Me olvidaba de aclarar, que el problema es que al aplicarle la mascara al root, cualquier otro objeto que ponga tambien va a estar condicionado por la misma mascar, asi que me gustaria saber si tiene alguna solucion, porque probe varias cosa y ninguna funciono..

Por xckon

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Ene 2007 10:15 pm
Yo también tengo un problema parecido, no puedo enmascarar movieclips creados dinamicamente, sin embargo logré resolver el problema dibujando dinamicamente cosa por cosa dentro de un mismo movieClip, sin embargo, por que no intentas insertar un MC vacío, y sobre el programar tu animación desde la pelicula madre, así el método setMask identificará la animación como un solo MC.

No se si esto funcione, espero que te sirva de algo, yo tambien estoy al pendiete de una respuesta mas profesional para tu problema...

Por asere_ernesto

5 de clabLevel



Genero:Masculino  

Cuba

firefox
Citar            
MensajeEscrito el 31 Ene 2007 03:24 am
ha, mismo problema,
asere:ernesto , ya habia probado lo que dices, pero no funciona
no he podido hacer con el setMask que me enmascare algo traido con el loadMovie, incluso metiendo dentro de un
createEmptyMovieClip!!!!!
haber si alguien nos ayuda

el codigo , mas o menos que llevo es este

Código :


//Mc donde dejo caer el loadMovie
direccion.createEmptyMovieClip("contenedor",direccion.getNextHighestDepth() );
direccion.contenedor.loadMovie(imagen);

//crea la mascara 
direccion.createEmptyMovieClip("maska",direccion.getNextHighestDepth() );
direccion.maska.beginFill(0xDFE5BB,100)
direccion.maska.moveTo(0,0);
direccion.maska.lineTo(dx,0);
direccion.maska.lineTo(dx,dy);
direccion.maska.lineTo(0,dy);
direccion.maska.endFill();

//y he aqui el error , es decir no me enmascara 
direccion.contenedor.setMask(direccion.maska);



No se por que no funciona, pero es algo del loadMovie, por que , si con el MC donde estoy dejando caer el MC, envez de eso me pongo a dibujar con el lineTo...... el setMask funciona bien

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 31 Ene 2007 04:13 am
teoricamente metiendo todo en un clip de película vacío no tendria que afectar en nada la máscar, lo que si hice fue crear un clip de pelicula vacío y le fui atachando a ese los clips de películas, para luego despues poderlos borrar...
Y como necesitaba una solución rápida dentro del MC que iba afuncionar como màscar agrege rectangulos que me permitan ver los demàs objetos que pongo en el root :P .. Si bien es un parche y se que no está bien necesitaba una solución rápida...jejejeje

Por xckon

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Ene 2007 04:54 pm
teoricamente si, pero no esta funcionando ,
ya lo dije , eso fue lo que hice pero no me funciona.

(los rectangulos fueron hechos con ActionScript o dibujados con flash??)

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 01 Feb 2007 12:03 am
un comentario, vaya, es una tonteria pero pruébalo,

direccion.contenedor.setMask(maska);

se que es absurdo, pero en teoria el nombre de la mascara es ese, tampoco estaria mal que dibujaras el rctangulo de la mascara sin relacionarlo con mas nada, solo crea dinamicamente el rectagulo de forma independiente a todo lo demas es decir:

_root.createEmptyMovieClip("maskara",profundidad);

lo dibujas y luego usas movieClip.setMask(maskara);

No entiendo por que no te funciona, pero en fin,... prueba estas boberias que te comento tal vez tengas suerte...

Por asere_ernesto

5 de clabLevel



Genero:Masculino  

Cuba

firefox
Citar            
MensajeEscrito el 01 Feb 2007 12:05 am
alguien nos puede ayudar????...

Por asere_ernesto

5 de clabLevel



Genero:Masculino  

Cuba

firefox
Citar            
MensajeEscrito el 01 Feb 2007 02:55 am
YEAH,
YA pude resolverlo

lo que pasa (almenos en mi caso) es que como estaba haciendolo con archivos externos (loadMovie) hay un tiempo que debe pasar antes que se cargue y como inmediatamente ponia la mascara , no daba tiempo para que se cargara
entonces mi solucion (bueno el detallito ese me lo encontro micheloud de Clab) es ocupar el MovieClipLoader , asi mi accion de enmascarar la pongo hasta que el MC ya se ha cargado completamente , en el onLoadComplete
aqui mi code. tal vez les sirva

Código :

direccion.createEmptyMovieClip("contenedor",direccion.getNextHighestDepth() );
      
      var mcl:MovieClipLoader = new MovieClipLoader();
      var loadListener:Object = new Object();

      loadListener.onLoadComplete = function(mc)
         {  
         mc.setMask(mc._parent.maska);
         }

      mcl.loadClip(imagen, direccion.contenedor);
      mcl.addListener(loadListener);
      
      direccion.createEmptyMovieClip("maska",direccion.getNextHighestDepth() );
      direccion.maska.beginFill(0xDFE5BB,100)
      direccion.maska.moveTo(0,0);
      direccion.maska.lineTo(100,0);
      direccion.maska.lineTo(100,100);
      direccion.maska.lineTo(0,100);
      direccion.maska.endFill();

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 03 Feb 2007 06:04 pm
Yo lo que hice fue atachar todo a un clip de pelicula vacío, pero no tengo resultados. Si yo lo que intento esnmascara es un clip de pelicula con una animación o una foto, me funciona, pero el problema es que el clip d epelicula que intento enmascarar no tiene nada....solamente codigo....
eveevans.. respondiendo a tu pregunta, no los hice ocn actionscript...los dibuje yo

Por xckon

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Feb 2007 09:00 pm
mmm.... pero si te fijas yo enmascare algo solo con codigo,
metiendolo dentro de un MC vacio deberia funcionar ( a mi me funciono)
ya revisaste que las direcciones a la hora del setMak son las correctas?

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox

 

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