Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2009, 13:16
Tigervlc
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Máscara no se aplica bien a un clip

Tengo una duda. Tengo problemas a la hora de enmascarar un clip que contiene un campo de texto dinámico y se va moviendo por detrás de dicha máscara.

En el caso que deseo, que es creando tanto el clip contenedor como su campo de texto a partir de cero, y después asignándole al primero una máscara que he creado previamente (se trata de dos círculos a modo de anteojos) y un texto al campo de texto, lo que ocurre es que el enmascaramiento se aplica a todo el cuadro de selección de la máscara, no a los círculos de la máscara en sí.

Sin embargo he probado a hacer exactamente igual solo que añadiendo desde la biblioteca, mediante attachMovie(), el clip contenedor con su campo de texto dinámico (y el texto ya escrito), y en este caso el enmascaramiento sí que se producía únicamente a través de los círculos.

También lo he hecho poniéndolo todo inicialmente en el escenario y la máscara también funciona bien.

Hay algo que hago mal en el primer caso? o es que no se puede enmascarar correctamente texto dinámico creándolo todo desde código??

Os pongo el código (os tendreis que crear en el escenario un clip llamado "mascara_mc" que será asignado como máscara):

Código PHP:
function init() {
    
    var 
texto_mc:MovieClip this.createEmptyMovieClip("texto_mc"this.getNextHighestDepth());
    
texto_mc._x mascara_mc._x 100;
    
texto_mc._y mascara_mc._y mascara_mc._height/2;
    
    var 
texto_txt:TextField texto_mc.createTextField("texto_txt"this.getNextHighestDepth(), 0015628);
    
texto_txt.text "mi texto en movimiento";
    
    
texto_mc.setMask(mascara_mc);
    
    
texto_mc.onEnterFrame = function() {
        
texto_mc._x += 4;
        if (
texto_mc._x Stage.width) {
            
delete texto_mc.onEnterFrame;
        }
    }
}

init();