Estoy tratando de dibujar un fondo de un campo de texto en AS3.TextFieldAutoSize y textWidth en AS3
Tengo un TextField con una fuente incrustada y usando autoSize = TextFieldAutoSize.LEFT. Asigno el texto a TextField y luego intento dibujar un redondeado Rect usando el textWidth del TextField. El ancho del campo de texto siempre es más pequeño que el ancho del texto real.
¿Hay alguna otra manera de obtener el ancho de texto real? Hice algunas búsquedas rápidas en Google pero no encontré nada.
Código:
var tfProgramName:TextField = TextUtil.createTextField(true,"Arial",20,true);
tfProgramName.width = 100;
tfProgramName.autoSize = TextFieldAutoSize.LEFT;
tfProgramName.x = 5;
tfProgramName.y = 5;
addChild(tfProgramName);
tfProgramName.text = _program.title;
background.graphics.clear();
background.graphics.beginFill(0xFF0000,0.75);
background.graphics.drawRoundRect(0,0,tfProgramName.textWidth+10,this.height+10,5,5);
background.graphics.endFill();
textWidth en mi caso es algo así como 373, pero debería estar más cerca de 400. Es, definitivamente, cerca, pero no parece tener en cuenta el tamaño de la fuente o tipo de letra.
¿Se puede publicar algún código? Es difícil discernir exactamente dónde te estás equivocando. –
Lo siento muchachos, no hay respuesta. No hay problema relacionado con el ancho del texto. El MovieClip principal se estaba reduciendo, pero como mi fuente no estaba incrustado en realidad, estaba reduciendo mi fondo, pero no mi texto. Entonces pensé que no estaba encontrando el ancho correcto. Una vez que resolví el problema de inserción y los problemas de escalado, todo funcionó correctamente. –