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(), 0, 0, 156, 28);
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();