{lang: 'de'}
Flashhilfe.de - Flash Community

Dynamischen Text mit AS3 formatieren (TextFormat) [Flash 10]

 


AntwortenRegistrieren Seite1  

wurstwurst#1
Benutzerbild von wurstwurst
Beiträge: 6
Wohnort: München
Registriert: Mar 2011

27.03.2011, 00:47

Liebe Freunde der Sonne!

Ich bin Flash-Anfänger und brauche dringend eure Hilfe. Seit etwa vier Stunden durchsuche ich das Internet für die Lösung folgenden Problems - bisher erfolglos :(

Also: Ich habe ein Flash-Dokument und möchte dort in per AS3 erzeugte Textfelder (addChild) Texte aus externen txt-Dateien laden - das funktioniert auch super. Allerdings kriege ich die Texte nicht so formatiert, wie ich es mir vorstelle: Zwar kann ich Breite, Höhe usw. des Textfeldes und Schriftgröße des Textes festlegen, aber schaffe es nicht, mit TextFormat den Font zu verändern. Ich habe die Schriftart erst in die Bibliothek geladen ("Neue Schriftart" bei Bib wählen, Name vergeben (bei mir: "Class1"), Schriftart auswählen (bei mir: "ClassGarmnd BT"), bei "Verknüpfung" "Export fürActionScript" wählen und Klasse (hier: "Class1") stehenlassen - ist doch so richtig, oder?) und dann den dort vergebenen Namen (bei mir: "Class1") im Quelltext eingetragen. Doch der Text erscheint nur in hässlichem Times New Roman, wenn ich den Film teste. Ich dachte erst, es könnte daran liegen, dass mir im Quelltext die Zeile myTextField_txt.embedFonts = true; fehlt, doch wenn ich die einfüge, verschwindet der Text beim testen einfach! Daher habe ich ihn erstmal rauskommentiert. Genauso verschwindet er, wenn ich den Text drehen möchte (.rotation=2). Sehr mysteriös... Wie krieg ich meinen Font rein, und warum funktioniert auch nicht das AntiAlias? Ich krieg ne Krise...

Wahrscheinlich fehlt mir das erfahrene Auge, um den Fehler zu erkennen. Könnt ihr mir helfen? Danke im Voraus!

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var myTextLoader1:URLLoader = new URLLoader();
var myTextField_txt:TextField = new TextField();
myTextField_txt.wordWrap=true;

myTextField_txt.antiAliasType = AntiAliasType.ADVANCED;


myTextField_txt.autoSize=TextFieldAutoSize.LEFT;

myTextLoader1.addEventListener(Event.COMPLETE, onLoaded);

var format:TextFormat = new TextFormat();
format.font = "Class1";
format.size = 16;
format.bold = true;


function onLoaded(e:Event):void {
  myTextField_txt.text = e.target.data;
  text_1_mc.addChild(myTextField_txt);
 
  myTextField_txt.setTextFormat(format);
  /*myTextField_txt.embedFonts = true;*/
  myTextField_txt.selectable = false;
  myTextField_txt.x=0;
  myTextField_txt.y=0;
  myTextField_txt.width=380;
  myTextField_txt.height=250;
 
  myTextField_txt.multiline=true;
}


myTextLoader1.load(new URLRequest("text_1_1.txt"));

joe brockerhoff#2
Benutzerbild von joe brockerhoff
Beiträge: 98
Wohnort: meerbusch
Registriert: Dec 2002

27.03.2011, 12:04