theFlashWizard
%Europe/Berlin %985 %2005, 00:39
Embed studie
embedden betekent dat letters opgeslagen worden als vector plaatjes dit zorgt ervoor dat je het in hogere mate, als plaatjes kan beinvloeden.
Je moet embedden wanneer:
Het een dynamisch / input textfield moet zijn en:
je een niet vaak voorkomend font zichtbaar wil maken voor iedereen,
je text onder een masker staat,
je text doorzichtiger wil maken (alpha),
je text wil roteren,
je text mooi wil schalen.
Hoe je moet embedden per soort:
static textfield
Die teksten worden automatisch omgezet in vector plaatjes en dus altijd embed / meegestuurd.
Alleen niet als je use device fonts aanvlinkt, maar dan embed je het dus ook niet
dynamic / input textfield:
moet je voldoende characters embedden bij property's->character.
ook kan je nu voor auto Fill kiezen dan pakt hij precies de characters die je op dat moment gebruikt
AS text (door createTextField):
moet je in AS embedFonts = true doen,
via een TextFormat() beschrijven welk lettertype
setTextFormat() na het opgeven van een tekst doen (.text)
Het font in de library zetten:
knopje rechtsboven in library-> new font
een naam invullen
het lettertype kiezen
bold / italic / size opgeven, al zie ik geen verschil als ik dit fout invul.
linkage name meegeven:
rechtermuisknop op item in library->linkage..
eerste item aanvinken
wanneer je die movie inlaad, (loadMovie ofzo) moet je het lettertype in de library van de movie waarin je het inlaad zetten.. omdat library's van movies die in inlaad altijd verloren gaan.
voorbeeldje van een compleet met AS gemaakt textfield:
textFormat = new TextFormat();
textFormat.font = "alba";
textFormat.size = 24;
_root.createTextField("test_txt", 1, 0, 0, 0, 0);
//dit stuk hieronder kun je vaker gebruiken wanneer je de text wilt veranderen
test_txt.text = "TEST";
test_txt.autoSize = "center";
test_txt.setTextFormat(textFormat);
test_txt.embedFonts = true;
test_txt._x = 400/2-test_txt._width/2
test_txt._y = 300/2-test_txt._height/2
Letters uit stylesheets embedden:
alle fonts die je gebruikt moeten in de library staan met een correcte linkage name.
dit is dan een voorbeeld script om html & css in flash te laden:
var style = new TextField.StyleSheet();
style.load("body.css");
content_txt.html = true;
content_txt.styleSheet = style;
var lv:LoadVars = new LoadVars();
lv.onData = function(content) {
content = content.split("\n").join("").split("\r").join("");
content_txt.text = content;
content_txt.embedFonts = true
content_txt.styleSheet = style;
}
lv.load("pages/page1.html");
TextArea embedden:
Het font in de library zetten:
knopje rechtsboven in library-> new font
een naam invullen
het lettertype kiezen
bold / italic / size opgeven, al zie ik geen verschil als ik dit fout invul.
rechtermuisknop op font in library->linkage..
eerste item aanvinken.
Het volgende script gebruiken om het font te embedden en om opmaak op te geven:
Ipv myTextArea de instancename gebruiken van jou TextArea.
myTextArea.setStyle("embedFonts",true);
myTextArea.setStyle("fontFamily","Arial");
myTextArea.setStyle("fontSize",12);
myTextArea.text = "The Royal Nonesuch";
(Met dank aan BernardV)
embedden betekent dat letters opgeslagen worden als vector plaatjes dit zorgt ervoor dat je het in hogere mate, als plaatjes kan beinvloeden.
Je moet embedden wanneer:
Het een dynamisch / input textfield moet zijn en:
je een niet vaak voorkomend font zichtbaar wil maken voor iedereen,
je text onder een masker staat,
je text doorzichtiger wil maken (alpha),
je text wil roteren,
je text mooi wil schalen.
Hoe je moet embedden per soort:
static textfield
Die teksten worden automatisch omgezet in vector plaatjes en dus altijd embed / meegestuurd.
Alleen niet als je use device fonts aanvlinkt, maar dan embed je het dus ook niet
dynamic / input textfield:
moet je voldoende characters embedden bij property's->character.
ook kan je nu voor auto Fill kiezen dan pakt hij precies de characters die je op dat moment gebruikt
AS text (door createTextField):
moet je in AS embedFonts = true doen,
via een TextFormat() beschrijven welk lettertype
setTextFormat() na het opgeven van een tekst doen (.text)
Het font in de library zetten:
knopje rechtsboven in library-> new font
een naam invullen
het lettertype kiezen
bold / italic / size opgeven, al zie ik geen verschil als ik dit fout invul.
linkage name meegeven:
rechtermuisknop op item in library->linkage..
eerste item aanvinken
wanneer je die movie inlaad, (loadMovie ofzo) moet je het lettertype in de library van de movie waarin je het inlaad zetten.. omdat library's van movies die in inlaad altijd verloren gaan.
voorbeeldje van een compleet met AS gemaakt textfield:
textFormat = new TextFormat();
textFormat.font = "alba";
textFormat.size = 24;
_root.createTextField("test_txt", 1, 0, 0, 0, 0);
//dit stuk hieronder kun je vaker gebruiken wanneer je de text wilt veranderen
test_txt.text = "TEST";
test_txt.autoSize = "center";
test_txt.setTextFormat(textFormat);
test_txt.embedFonts = true;
test_txt._x = 400/2-test_txt._width/2
test_txt._y = 300/2-test_txt._height/2
Letters uit stylesheets embedden:
alle fonts die je gebruikt moeten in de library staan met een correcte linkage name.
dit is dan een voorbeeld script om html & css in flash te laden:
var style = new TextField.StyleSheet();
style.load("body.css");
content_txt.html = true;
content_txt.styleSheet = style;
var lv:LoadVars = new LoadVars();
lv.onData = function(content) {
content = content.split("\n").join("").split("\r").join("");
content_txt.text = content;
content_txt.embedFonts = true
content_txt.styleSheet = style;
}
lv.load("pages/page1.html");
TextArea embedden:
Het font in de library zetten:
knopje rechtsboven in library-> new font
een naam invullen
het lettertype kiezen
bold / italic / size opgeven, al zie ik geen verschil als ik dit fout invul.
rechtermuisknop op font in library->linkage..
eerste item aanvinken.
Het volgende script gebruiken om het font te embedden en om opmaak op te geven:
Ipv myTextArea de instancename gebruiken van jou TextArea.
myTextArea.setStyle("embedFonts",true);
myTextArea.setStyle("fontFamily","Arial");
myTextArea.setStyle("fontSize",12);
myTextArea.text = "The Royal Nonesuch";
(Met dank aan BernardV)