This is a discussion on Applicare un TextFormat ad un campo di testo within the Articoli e tutorials forums, part of the Flash Italiano category; Ciao a tutti ! Oggi ho deciso di trattare l' argomento TextFormat in quanto ho ricevuto diverse richieste di aiuto ...
Ciao a tutti !
Oggi ho deciso di trattare l' argomento TextFormat in quanto ho ricevuto diverse richieste di aiuto riguardanti come si applica una determinata font ad un campo di testo con Actionscript 3.0 .
Intanto partirei col dire che l' iter č questo:
- - creare la font necessaria ed inserirla in un Array
- - creare un campo di testo
- - creare una istanza di TextFormat
- - assegnare il TextFormat al campo di testo
- - assegnare il testo al campo di test
detto questo, bando ai blah blah ed entriamo in un esempio concreto...
Creo un FLA che salvo con nome ' main.fla '.
Al suo interno creo una nuova font in libreria come ho fatto vedere in questo tutorial.
Creo la Document Class, un file AS che salvo con nome ' Main.as ', implementata in questo modo:
ottenendo il seguente risultato:Code:package { import flash.display.MovieClip; import flash.text.Font; import flash.text.TextField; import flash.text.TextFormat; public class Main extends MovieClip { private var field_txt:TextField; private var format:TextFormat; private var fonts_array:Array; public function Main() { init(); } private function init():void { Font.registerFont(Monaco); fonts_array=Font.enumerateFonts(false); createField(); createFormat(); setFormat(); setText(); } private function createField():void { field_txt=new TextField(); addChild(field_txt); field_txt.x=20; field_txt.y=20; field_txt.selectable=false; field_txt.embedFonts=true; field_txt.multiline=true; field_txt.width=300; field_txt.wordWrap=true; } private function createFormat():void { format=new TextFormat(); var font:Font=fonts_array[0]; format.font=font.fontName; format.color=0x333333; format.size=14; } private function setFormat():void { field_txt.defaultTextFormat=format; } private function setText():void { field_txt.text="Lorem Ipsum is simply dummy text of the printing and typesetting industry"+ "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,"+ " when an unknown printer took a galley of type and scrambled it to make a type specimen book."+ "It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged."+ "It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, "+ "and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."; field_txt.height=field_txt.textHeight+10; } } }
Analizziamo il codice:
Proprietą
una istanza di TextField
private var field_txt:TextField;
un Array
private var fonts_array:Array;
poi seguendo lo schemino che ho precisato all' inizio,
1- creare la font necesaria ed inserirla in un Array
Font.registerFont(Monaco);
fonts_array=Font.enumerateFonts(false);
2 - creare un campo di testo
chiamo il metodo createField e:
creo il campo
field_txt=new TextField();
addChild(field_txt);
lo posiziono
field_txt.x=20;
field_txt.y=20;
gli dico di non essere selezionabile dal mouse
field_txt.selectable=false;
imposto la proprietą embedFonts a true
field_txt.embedFonts=true;
dico che deve essere multi linea
field_txt.multiline=true;
imposto una larghezza del campo di testo
field_txt.width=300;
imposto la proprietą wordWrap a true
field_txt.wordWrap=true;
3 - creare una istanza di TextFormat
chiamo il metodo createFormat
creo un nuovo TextFormat
format=new TextFormat();
assegno la font a format
var font:Font=fonts_array[0];
format.font=font.fontName;
assegno un colore a format
format.color=0x333333;
assegno una dimensione a format
format.size=14;
4- assegnare il TextFormat al campo di testo
chiamo il metodo setFormat che assegna il textFormat al campo di testo in questo modo
field_txt.defaultTextFormat=format;
5 - assegnare il testo al campo di test
chiamo il metodo setText
assegno il testo
field_txt.text="......";
gli assegno una lunghezza massima al campo di testo
field_txt.height=field_txt.textHeight+10;
Allego i files sorgente:
Last edited by Flep; 05-06-08 at 07:07.
Bookmarks