• FFK10 - 13. bis 16. April 2010 in Köln
  • Unterstützt das Flashforum!
  • Adobe User Group
Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-08-2002, 12:25   #1 (Permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.812
createTextField() und Einbettung von Schriftarten, kleines Tutorial

Hallo Flashforum.
Hab mal ein kleines Tutorial zum Thema createTextField und Einbettung von Schriftarten geschrieben.

Einige von euch haben sicher schonmal mit createTextField() gearbeitet und hatten dabei das Problem das sich die schriften mit TextField.embedFonts = true; nicht einbetten liessen sonden schlichtweg nicht angezeigt wurden.

Zunächst schaffen wir erstmal die Vorraussetzungen um etwas anzuzeigen.
Wir erzeugen ein leeres Textfeld und weisen ihm Text, Einbettung und ein Textformat zu:

ActionScript:
  1. _root.createTextField("mytext", 1, 20, 100, 250, 50);
  2. mytext.html = true;
  3. mytext.htmlText = "Bin <b>ich</b><i> eingebettet?</i>";
  4. mytext.embedFonts = true;
  5. mf = new TextFormat();
  6. mf.font = "Verdana";
  7. mf.size = 20;
  8. mytext.setTextFormat(mf);

Transparenz kann nur bei eingebetteten Fonts angewendet werden, deshalb fügen wir zur besseren Erkennbarkeit noch _alpha hinzu:
ActionScript:
  1. mytext._alpha = 50;

Wenn ihr diesen Film nun testet, werdet ihr jetzt keinen text sehen können weil der Text so (trotz mytext.embedFonts = true) nicht eingebettet ist. Wenn ihr es auskommentiert könnt Ihr den Text zwar lesen, aber Eigenschaften wie _alpha oder _rotation funktionieren nicht. Davon abgesehen wird der Text auf Sytemen die diese Shriftart nicht installiert haben durch eine andere ersetzt.

Lösungwege:

Wir haben die Möglichkeit in der Biliothek Schriftartensymbole anzulegen.
Also rechts-oben im menü der Bibliothek auf "Neue Schiftart" klicken und die Schriftart, die im Textformat angegeben ist, und auswählen.

Wichtig:
Wenn wir haben hier die Möglichkeit fett und kursiv auszuwählen, wenn wir das tun bedeutet das nicht das wir dann einen normalen, einen fetten und einen kursiven Schriftsatz eingebettet haben. Wenn unser Text fette und/oder kursive Auszeichungen aufweist müssen wir für 2 bzw. 3 Schriftartensymbole anlegen.

Dann müssen wir einen Verknüfungnamen für unsere Schriftartsymbole zuweisen (rechte Maustaste auf Symbol >> Verknüpfung >> Export für ActionScript >> Namen eingeben).

Wichtig:
Wenn wir eine Schriftart mehrfach als Symbol verwenden um fette und kursive einzubetten darf keiner der Verknüpfungsnamen dem Namen der Schriftart verwenden, da sonst myformat.font vorrangig den Verknüpfungsnamen benutzt.

Beispiel:
Wir wollen wie oben Text mit html-Tags für fett und kursiv einbetten.
Unser Textformat.font ist Verdana.
Wenn wir nun in der Bibliothek den Verknüpfungsnamen "Verdana" wählen wird das Textfeld ausschliesslich die Schriftart verwenden die den Verknüpfungsnamen "Verdana" benutzt.
Der fette oder kursive Schriftsatz wird dann ignoriert, auch wenn er als Schriftart Verdana hat.

Um das zu umgehen betten wir die Verdana in unserem Fall dreimal ein und geben ihr Verknüpfungsnamen wie VerdanaNormal, VerdanaFett, VerdanaKursiv.
Der Verknüfungsname ist also im Prinzip egal, es muss nur einer vergeben werden.

Wenn wir das getan haben sollte unser Text alle drei Varianten der Verdana darsellen und eine Transparenz sollte möglich sein.

Nachteile der Schiftartensymbolen sind das sie im ersten Frame geladen werden (verspäteter Preloader) und das die gesamte Schriftart eingebettet wird (ein Drittel der eingebetteten Zeichen ist für den deutschen Schriftgebrauch irrelevant).
Eine Verdana mit fettem und kursivem Satz braucht so ca. 60KB.
Vorteil ist die Nutzbarkeit über Shared Libary, bei grösseren Projekten.


Ein weiterer Lösungsweg wäre leere Textfelder mit eingebundenen Schiftarten (Eigenschafteninspektor >> Zeichen) ausserhalb des sichtbaren Bereichs auf die Bühne zu legen. Auch hier muss für fett und kursiv ein jeweils noch ein Textfeld dazu. Der Vorteil dieser Methode ist das wir wieder kontrolle über das Preloadverhalten haben und auswählen können welche Zeichen wirklich eingebunden werden müssen.
Der Nachteil ist, dass wir so nicht mit Shared Libarys arbeiten können.


Denkbar wäre auch ein MovieClip der die eingebetteten Schriftarten als leere textfelder enthält. Diesen kann man mit einem Verknüpfungsnamen versehen und Exportieren. Im benötigten Film holt man diesen dann mit
ActionScript:
  1. _root.attachMovie("schriftclip", "embedded", 9999999, {_x:-500, _y:-500});
auf die Bühne und positioniert ausserhalb.
So kann man Einfluss auf die einzubettenden Zeichen nehmen und braucht gleichzeitig nicht auf Möglichkeiten von Shared Libarys zu verzichten.


Ich hoffe das war verständlich und eventuell hilfreich

gruss
michael
michael ist offline   Mit Zitat antworten
Alt 12-08-2002, 12:27   #2 (Permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.812
@Scrawer sorry, blöder tippfehler im Titel, da hab ich den Thread neu aufgemacht
michael ist offline   Mit Zitat antworten
Alt 11-03-2003, 15:55   #3 (Permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 265
Re: createTextField() und Einbettung von Schriftarten, kleines Tutorial

Hallo gutknut!

Wie kann ich denn nun bei deinem Tut die verschiedenen Schriftgrade aktivieren? Ich mein, wie z.B. Fett, oder Italic?
--> Bin <b>ich</b><i> eingebettet?</i>

Das funzt bei mir ned!

Gruß und Dank, der Mischa W.

Geändert von oreiz (11-03-2003 um 16:06 Uhr)
oreiz ist offline   Mit Zitat antworten
Alt 11-03-2003, 15:58   #4 (Permalink)
buehnentechniker
 
Benutzerbild von honifred
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 2.448
versuche mal:
mytext.multiline = true;
__________________
Es gibt eine Sache, die schlimmer ist, als die Ausschweifung: die Abstinenz.

Achim 69
honifred ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:07   #5 (Permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 265
Hallo honifred!

Sorry, hatte mich vertan - das war ja keine Multiline-Geschichte, sondern das Thema verschiedene Schriftgrade. Hab deßhalb meinen Eintrag wieder gelöscht! Sorry & Danke zugleich!

Gruß, der Mischa W.
oreiz ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:10   #6 (Permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 265
Hallo zusammen!

OK, warum lange rumlabern (-fragen), wenns auch durch
einfaches ausprobieren rauszufinden ist.
Sorry und Dank allen!

Die Verdana wird nun in allen Schriftgraden dargestellt.
Auch ohne einbetten - komisch, aber's geht!

Gruß, der Mischa W.
oreiz ist offline   Mit Zitat antworten
Alt 27-03-2003, 17:19   #7 (Permalink)
Kreativer Kopf
 
Registriert seit: Sep 2001
Ort: 36088 Hünfeld (Hessen)
Beiträge: 386
Nix komisch, Nase . Du hast nämlich diese Schriftart auf deinem lokalen System vorhanden, und solange sie vorhanden ist, muss sie nicht importiert werden...
__________________
#patrick#

www.com-pose.de
PatrickKByte ist offline   Mit Zitat antworten
Alt 27-03-2003, 23:30   #8 (Permalink)
Flash-Wüstling
 
Benutzerbild von pheidrias
 
Registriert seit: Dec 2001
Ort: Halle/Saale
Beiträge: 4.300
Thumbs up

Danke@gutknut !

Hilft bestimmt weiter !

,
pheidrias
__________________
Ehrlich währt am LÄNGSTEN !
pheidrias ist offline   Mit Zitat antworten
Alt 27-03-2003, 23:39   #9 (Permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.812
huch, danke
ist ja schon ein weilchen her das ich das geschrieben hab.
michael ist offline   Mit Zitat antworten
Alt 27-03-2003, 23:48   #10 (Permalink)
Flash-Wüstling
 
Benutzerbild von pheidrias
 
Registriert seit: Dec 2001
Ort: Halle/Saale
Beiträge: 4.300
uups - stimmt ja ...

Warum habe ich das damals übersehen ...

tanti saluti,
pheidrias
__________________
Ehrlich währt am LÄNGSTEN !
pheidrias ist offline   Mit Zitat antworten
Alt 02-07-2003, 12:28   #11 (Permalink)
Screendesigner
 
Benutzerbild von ulfe´ce
 
Registriert seit: Oct 2001
Ort: Frankfurt
Beiträge: 38
servus.

ich hab das gleiche prolem wie oreiz "damals"
hatte, mit dem unterschied das mein problem
nicht gelöst ist, weil ich keine standardschrift
benutze.....kann mir da jemand weiterhelfen?

ulf
ulfe´ce ist offline   Mit Zitat antworten
Alt 02-07-2003, 12:32   #12 (Permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 265
Du mußt in Deinem Flashfilm irgendwo versteckt ein Textfeld für jeden Schrift-Style erstellen.
Diese Textfelder brauchen nicht einmal gefüllt sein!
Sie müssen lediglich für alle Schriften aktiviert sein!
D.h. Du machst dynamische Textfelder und bettest da alle Zeichen ein, die Du benötigst.
Das mußt Du ebenfalls mit Bold und Italic machen!
Underline gibt's ja bei Flash komischerweise nicht!

Gruß, der Micha
oreiz ist offline   Mit Zitat antworten
Alt 07-07-2003, 17:19   #13 (Permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 15
createTextField mit externen Variablen

Hi zusammen,

leider werden bei mir die Formate nicht angezeigt, wenn ich das textfield mit text-variablen (über loadVariables) fülle :-((

Any ideas?

Greetz,
EdMan
EdMan ist offline   Mit Zitat antworten
Alt 07-07-2003, 17:21   #14 (Permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 15
createTextField

uups, hat sich erledigt

musste erst über onData meine laderei gegenchecken.

Greetz,
EdMan
EdMan ist offline   Mit Zitat antworten
Alt 07-07-2003, 17:22   #15 (Permalink)
Neuer User
 
Benutzerbild von oreiz
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 265
Poste mal Dein Script, oder wenn zu komplex, Teile davon!
oreiz ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
FFK10 - 13. bis 16. April 2010 in Köln


Copyright ©1999 – 2010 Marc Thiele und Sascha Wolter.