Comunidad de diseño web y desarrollo en internet online

TLFTextField getTextFormat()

Citar            
MensajeEscrito el 09 Ago 2011 10:34 am
Hola!!

Estoy teniendo algunos problemillas para extraer el TextFormat de un TLF. Mi idea es obtener el formato de un TLF formateado que se encuentra dentro de un movieClip de mi biblioteca y asignarle ese mismo formato a otro TLF creado por código.

Este sería un código ejemplo de lo que quiero hacer.

Código ActionScript :

var selectable:Boolean = myTLF.selectable;
myTLF.selectable = true;//Línea necesaria para que getTextFormat funcione.
var tf:TextFormat = myTLF.getTextFormat();
myTLF.selectable = selectable;//Devuelvo la propiedad a su estado inicial.
var pTextField:TLFTextField = new TLFTextField();         
pTextField.defaultTextFormat = tf;


Este código me da este error en tiempo de ejecución:

Exception thrown (RangeError: Property lineHeight value -2147483648 is out of range at...)

Esto se debe a que mi variable tf tiene la propiedad leading = -2147483648.

Si cambio a mano esta propiedad a tf antes de asignarlo me da este otro error:

Exception thrown (RangeError: Property trackingRight value NaN is out of range at...)

Esto se debe, en este caso, a que mi variable tf tiene la propiedad letterSpacing = NaN.

Si de nuevo pongo un valor a mano a esta propiedad ya no obtengo ningún error, pero claro el formato del TLF original y mi TLF creado por código no son el mismo, ya que los valores asignaos a mano "me los he inventado".

Hay alguna forma de que algo como esto

Código ActionScript :

pTextField.defaultTextFormat =  myTLF.getTextFormat();
funcione sin más??

Gracias.
Marcos.

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Ago 2011 01:39 pm
Si myTLF es una instancia de TextLayoutFormat, la asignación es

pTextField.defaultTextFormat = myTLF;

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ago 2011 10:29 am
myTLF es una instancia de TLFTextField al que se le ha dado un formato en tiempo de edición.

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2011 11:45 am
Ok, el textFormat se lo aplicas al TextFlow

var myTextFlow:TextFlow = myTLFTextField.textFlow;
myTextFlow.hostFormat = myFormat;

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ago 2011 01:34 pm
Según tú, myFormat qué es?? Un TextFormat o un TextLayoutFormat??

Por otro lado, cómo obtengo un TextLayoutFormat a partir de TLFTextfield??

Gracias.
Marcos.

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2011 01:42 pm
textFlow es una propiedad de TLFTextfield, a diferencia de un TextField plano, el TLFTextfield sigue un patrón composite en donde trabajas los flows como bloques separados. Armar por código TLFTextfield es bastante menos trivial de lo que parece, no hace mucho tuve que lidiar pasando un tutorial al árabe (flow RTL), pero como me suele pasar, se me olvidan al toque los detalles, solo recuerdo en que parte de la documentación estaba

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ago 2011 01:47 pm
No si esto de los TLF está claro que tiene mucha miga..

Pero a ver, yo tengo un TLFTextField creado y configurado en timpo de edición y que está en mi biblioteca. ¿Yo puedo obtener el su TextLayoutFormat para asignarselo al textFlow.hostFormat de otro TLFTextField creado por código?

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2011 01:52 pm
¿lo probaste?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ago 2011 01:58 pm
El texFlow.hostFormat del TLFTextField de la biblioteca es null. Y no se ninguna otra forma de obtener la configuración de mi TLF...

Necesito un objeto TextLayoutFormat que exprese la configuración del TLFTextField de mi biblioteca para así asignarselo a otro TLFTextField creado en tiempo de ejecución. ¿Es posible?

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2011 02:01 pm
Si mal no recuerdo, los textfield los creaba a mano, luego según viniera en inglés o árabe, aplicaba uno u otro, no copiaba realmente, sino que tenía un formato básico creado por código. Mira si eso es posible, sorry no tengo tiempo de meterme a investigar eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Ago 2011 02:22 pm
Ok Jorge, gracias por tu tiempo. Seguiré con el mundo de los TLF a ver si llego a buen puerto :P

Saludos.
Marcos,

Por ElMarkis

55 de clabLevel



Genero:Masculino  

firefox

 

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