Sto provando a disegnare uno sfondo in un campo di testo in AS3.TextFieldAutoSize e textWidth in AS3
Ho un campo di testo con un carattere incorporato e utilizzo di autoSize = TextFieldAutoSize.LEFT. Assegno il testo al campo di testo, quindi chiama try per disegnare un arrotondatoRect usando textWidth del campo di testo. La larghezza del campo di testo è sempre inferiore alla larghezza effettiva del testo.
C'è un altro modo per ottenere l'effettiva larghezza del testo? Ho fatto qualche ricerca su google veloce ma non ho trovato nulla.
Codice:
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 nel mio caso è qualcosa come 373, ma dovrebbe essere più vicino a 400. E 'sicuramente vicino, ma non sembra prendere in considerazione la dimensione del carattere o un carattere.
Puoi pubblicare un po 'di codice? È difficile capire dove sbagli esattamente. –
Scusate ragazzi, non c'è risposta. Non c'è alcun problema legato alla larghezza del testo. Il filmato principale MovieClip era in fase di ridimensionamento, ma poiché il mio font non si stava effettivamente incorporando, stava ridimensionando il mio sfondo ma non il mio testo. Quindi ho pensato che non stava trovando la larghezza corretta. Una volta risolto il problema di embed e di ridimensionamento, tutto ha funzionato correttamente. –