Es kann und ist nicht das Ziel von FLAshot, hier nun eine grossartige ActionScript-Sammlung aufzubauen, denn hierfür gibt es genug Flash-Portale die dies bereits machen und auch besser können. Trotzallem werden wir von Zeit zu Zeit einige Scripts und Lösungen aus unserer täglichen Arbeit bei dCTRL, zur Information und Diskussion, aufschalten.
Den Anfang machen wir hier mit einem kurzen Script/Tutorial zum Thema Fonteinbindung über die Klassen TextField und TextFornat in Flash 2004. Wie so oft ist das ganze gar nicht so kompliziert, wenn man es einmal begriffen hat.
Gerade in der OOP Programmierung kann es von Vorteil sein Fonts und deren Attribute dynamisch einzubinden. Will man z.B. den Font nachträglich ändern, so muss man nicht X-Textfelder durchgehen und die Änderungen manuel vornehmen, sondern kann an einer Stelle im Script den Fontstyle für den gesamten Movie ändern.
Es finden sich im ActionScript Lexikon von Macromedia Flash zwar zahlreiche Infos zum Thema TextFormat, doch nirgends ein Hinweis dazu, dass der Font über die Bibliothek eingebunden werden muss (?), damit das ganze klappt. Weil mit einem Standard-TextFormat-Objekt mit der Eigenschaften font = "Times New Roman" hat das bei uns nie geklappt!
Für alle mit dem gleichen Problem, hier nun also unsere Lösung:
1. Öffne ein neues Flash Dokument
2. Öffne die Bibliothek (Menu Fenster/Bibliothek) und speichere einen neuen Font (klick auf den Button oben rechts, neue Schriftart)
3. Wähle, in dem sich öffnenden Fenster, den Font den du benutzen willst, gib ihm einen sinnvollen Namen und klicke OK
4. Wähle in der Bibliothek das neu erstellte Font-Symbol aus, klicke es mit der rechten Maustaste (PC) oder ctrl-Mausklick (Mac) und wähle "Verknüpfung…" aus
5. In dem sich öffnenden Fenster der "Verknüpfungseigenschaften" gebe einen Bezeichner ein, z.B. "meinFont" (über diesen wird das Font Symbol später angesprochen…), wähle "Export für ActionScript" aus und drücke OK.
6. Wieder zurück auf der Bühne wähle den ersten Frame der "Ebene 1" aus, öffne das ActionScript Fenster (F9) und gebe folgenden Code ein:
// Dynamisch erzeugtes Textfeld
// (Instanzname, Tiefe, x, y, Breite, Höhe)
_root.createTextField("mein_txt", 0, 50, 50, 450, 100);
// Eigenschaften der Textfield Klasse
// Hier sind natürlich noch eine Menge anderer
// Eigenschaften möglich
mein_txt._quality("BEST");
mein_txt.multiline = true;
mein_txt.selectable = false;
mein_txt.wordWrap = true;
mein_txt.embedFonts = true;
// Textfeld Text
mein_txt.text = "Das ist mein Text";
// Neue TextFormat Klasse definieren
// damit die Formatierungen auf das TextFeld
// angewand werden
mein_fmt = new TextFormat();
// Dem TextFormat unseren Symbol Font Identifier
// zuweisen. Auch hier sind natürlich
// zahlreiche weitere Parameter möglich
mein_fmt.font = "meinFont";
mein_fmt.size = 28;
mein_fmt.color = "0×999999";
// Dem TextFeld die Formatierung zuweisen
mein_txt.setTextFormat(mein_fmt);
So und das wärs auch schon. Viel Spass beim ausprobieren!