Foros del Web » Creando para Internet » Flash y Actionscript »

AS3: embeber y enmascarar texto dinamico

Estas en el tema de AS3: embeber y enmascarar texto dinamico en el foro de Flash y Actionscript en Foros del Web. que tal chavalez, pues aqui de pregunton otra vez, a ver si alguien sabe. quiero enmascarar texto dinamico y para ello lo quiero hacerlo a ...
  #1 (permalink)  
Antiguo 08/09/2007, 23:49
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 10 años, 8 meses
Puntos: 0
AS3: embeber y enmascarar texto dinamico

que tal chavalez, pues aqui de pregunton otra vez, a ver si alguien sabe.

quiero enmascarar texto dinamico y para ello lo quiero hacerlo a traves de una clase,
lo he consegido pero no como yo lo esperaba:

1 creé un mc en el stage [ de x tamanio ]
2 le he asociado una clase para gestionarlo [ para fines de prueba ]
3 Aqui esta mi humilde clase:

import flash.events.Event;
import flash.display.MovieClip;
import flash.text.*;
import TextfieldCustom;

public class Mascara extends MovieClip{

private var shape:MovieClip;

public function Mascara(){
shape=new MovieClip();
agregarTXT();
crearMascara();

}

function agregarTXT ( ) {
var format:TextFormat=new TextFormat();
format.color=0xffffff;
format.font="Times New Roman";
format.size=20;

var tf:TextField=new TextField();
tf.defaultTextFormat=format;
tf.text="esto es algo de texto que he de enmascarar";
tf.width=500;
tf.height=200;
tf.multiline=true;
tf.wordWrap=true;
tf.embedFonts=true;

this.addChild(tf);
}
}

el problema es que no se ve el texto.
solo se ve si accedo al MC en modo diseño, agrego texto dinamico [ no importa el tamaño ], y embebo la fuente, asi y sollo asi se ve.

y lo de menos seria agregarlo a los mc que quiero y listo pero no habra alguna forma de hacerlo omitiendo el paso de agregar el testo dinamico en modo diseño???

me he paseado por varios blogs pero nada, lo explican en como diseñoy los que lo embeben con codigo no lo enmascaran.

como ven, yo creo que si se puede, pero mi pregunta es..... COMO?
  #2 (permalink)  
Antiguo 09/09/2007, 04:17
Avatar de Solid  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 0
Re: AS3: embeber y enmascarar texto dinamico

Demasiado tarde (o demasiado temprano, según el punto de vista) para abrir el Flash y ponerme a revisar la documentación que trae, pero...

En AS2 existe un método setMask() propio del objeto MovieClip (y muy probablemente del objeto de texto también). Y la usas tan sencillo como

miMC.setMask(mi_mc_mascara);

Y listo el pollo, obtienes máscaras generadas dinámicamente y sobre cualquier MC que se te ocurra generar.

Asique te recomiendo buscar en la documentación por el equivalente AS3 (que muy probablemente se llame EXACTAMENTE igual).

Y, en el caso de que no existiera ese método para los objetos de texto, entonces lo que haces es crear por código un MovieClip vacío, dentro de ese MC creas tu objeto de texto, y después usas el método setMask del MC contenedor del texto y listo ;)
__________________
Just because I rock doesn't mean I'm stone
  #3 (permalink)  
Antiguo 09/09/2007, 13:34
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 10 años, 8 meses
Puntos: 0
Re: AS3: embeber y enmascarar texto dinamico

ok ok, gracias por tomarte el tiempo de leer y contestar, y oppss, me falto algo de codigo.

function aplicar(clip:*, radio:Number=50):void{
shape.graphics.lineStyle();
shape.graphics.beginFill(0x00ff00);
shape.graphics.drawCircle(0,0,radio);
shape.graphics.endFill();
clip.addChild(tf); // <--------------------------script anterior
clip.addChild(shape);

clip.mask=shape; //<--------------------------ya no es un metodo, si no una propiedad
}

el problema es que no esmascara el texto dinamico a menos que embebas las fuentes, y aun que lo haga con AS3 no aparece, para que me muestre el txtDinamico tengo que agregar al stage en modo diseño, y asi y solo asi me muestra lo antes creado con AS3

Última edición por ezra.wong; 09/09/2007 a las 13:40
  #4 (permalink)  
Antiguo 10/09/2007, 09:09
Avatar de Solid  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 0
Re: AS3: embeber y enmascarar texto dinamico

Ese es otro tema...no estás pudiendo enmascarar porque en principio no existe nada para enmascarar (lo cual sucede porque no tenés las fuentes)...

Lo que tenés que hacer es lo siguiente, en cualquier lugar del Stage, inclusive en el preload asi no te queda por el medio después, create un textbox dinámico (desde el timeline), dejalo vacío y fuera del stage (cosa que sea inaccesible por el usuario), configuralo para que use la tipografía que pretendés usar después y embedeale los glyphs que sea necesario, repetí este paso por tantas tipografías non-standar que vayas a utilizar.

Y después listo, el resto del código debería funcionar correctamente.
__________________
Just because I rock doesn't mean I'm stone
  #5 (permalink)  
Antiguo 10/09/2007, 11:03
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 10 años, 8 meses
Puntos: 0
Re: AS3: embeber y enmascarar texto dinamico

ok, hermano, gracias por tu ayuda y respuesta rapida, de hecho esa fue la única forma que encontre para hacerlo.
  #6 (permalink)  
Antiguo 10/09/2007, 12:08
Avatar de Solid  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 0
Re: AS3: embeber y enmascarar texto dinamico

Un placer ;)
__________________
Just because I rock doesn't mean I'm stone
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:06.