- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Problema con campi di testo dinamici
-
Problema con campi di testo dinamici
Salve,
sono riuscito grazie all'aiuto del buon flep a creare una galleria fotografica interfacciando flash e mysql.E' tutto ok se non il fatto che non riesco a formattare le didascalie.
Per la visualizzazione uso dei campi di testo che creo dinamicamente con questo codice
_root.createTextField('my_txt'+n, _root.getNextHighestDepth(), 40, posx, posy, 20).text = dida +" - "+n; setProperty('my_txt'+n, _y, posy+50);
Non riesco però a trovare il modo di impostare il carattere ed il colore del campo di testo.
Qualcuno sa aiutarmi?
-
Ciao nedone,
devi usare la classe textFormat.Un esempio:
var format:TextFormat; var field:TextField; field=_root.createTextField('f_txt',1,0,0,0,0); field.multiline=true; field.selectable=false; field.autoSize='left'; field.embedFonts=true; field.antiAliasType='advanced'; field.setNewTextFormat(getFormat); function getFormat():TextFormat { format=new TextFormat(); format.font='Verdana'; format.color=0x333333; format.size=20; return(format); }
-
Ah, un' altra cosa...
Tieni un campo di testo dinamico vuoto e inseriscili tutti i caratteri con l' apposito tasto / opzione.
In questo modo Flash si porta dietro anche la font che utilizzi e chiunque la visualizzerà.
Altrimenti non vedresti il testo.
-
@Flep said:
Ciao nedone,
> var format:TextFormat; var field:TextField; field=_root.createTextField('f_txt',1,0,0,0,0); field.multiline=true; field.selectable=false; field.autoSize='left'; field.embedFonts=true; field.antiAliasType='advanced'; field.setNewTextFormat(getFormat); function getFormat():TextFormat { format=new TextFormat(); format.font='Verdana'; format.color=0x333333; format.size=20; return(format); } >``` Ho già usato questo metodo, il problema è che devo creare x campi di testo con nomi (credo debbano essere) diversi quindi non so come applicare la text format. Forse mi ero spiegato male.
-
Inserisci ogni campo di testo in un Array in modo che poi non lichiami coi nomi ma tramite l' indice dell' Array.
Poi applichi il TextFormat con un ciclo.
-
Tanto per cambiare continuo ad avere problemi...ActionScript sta diventando la mia bestia nera...
creo le etichette così:
etichette = Array(); [...] var etitmp = _root.createTextField('my_txt'+n, _root.getNextHighestDepth(), 40, posx, posy, 20).text = dida; setProperty('my_txt'+n, _x, posx); setProperty('my_txt'+n, _y, posy+50); etichette.push('my_txt'+n); [...] var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFF0000; for (l=0;l<k;l++) etichette.setTextFormat(my_fmt);
Dove è l'errore?
-
var etichette:Array=new Array();
-
Purtroppo non cambia niente.
L'array veniva creato e processato anche con l'altra sintassi più beduina, il problema è che non viene applicata la formattazione.
-
questo [...] sta per ciclo ?
Inoltre, hai tenuto un campo di testo dinamico vuoto a cui hai inserito tutti i caratteri ?
-
Ahh
Un' altra cosa, ho visto adesso.Prima di assegnare un testo al campo devi applicargli il textFormat e poi gli assegni il testo.