PDA

Volledige versie bekijken : embed studie


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)

raidho
%Europe/Berlin %991 %2005, 00:48
vergeet het font niet te exporteren met je movie mee
anders hebben gebruikers die het font niet op hun compu hebben
niets aan al je embed acties -> no show (gebruik de linkage naam in je texformat)

theFlashWizard
%Europe/Berlin %006 %2005, 01:09
exporteren staat er bij AS text bij :)
alleen noem ik het niet exporteren..
ook heb ik nu uitleg hoe je een linkage name bepaalt

bij dynamic / input textfield heb ik het weggelaten want bij test die ik net gedaan hebt lijkt het niet te hoeven.. iemand die dat tegenspreekt?
want ik dacht ook eerst dat dat wel moest..

enne wat je hiermee bedoelt:
niets aan al je embed acties -> no show (gebruik de linkage naam in je texformat)
geen flauw idee..

raidho
%Europe/Berlin %335 %2005, 09:03
hmmz mijn vorige reactie was inderdaad wel wazig, nog een keer:
indien je mbv as een textfield aanmaakt moet je het font in de lib wel exporteren in het eerste frame want indien een bezoeker het font niet heeft zal hij alsnog je tekst niet zien,
gebruik altijd de linkage naam van het font

theFlashWizard
%Europe/Berlin %488 %2005, 12:43
hoe wil je een font naar het eeste frame exporteren? :s zoiets importeer je nog altijd naar de library naar mijn weten..
owja.. Kzal er nog ff bijzettend at wanneer je die movie inlaad je het lettertype in de library van de movie waarin je het inlaad moet zetten.. omdat library's van movies die in inlaad altijd verloren gaan.

XemonerdX
%Europe/Berlin %503 %2005, 13:05
Misschien is dit (http://web.archive.org/web/20021206180401/http://www.waxpraxis.org/archives/000062.html) iets om door te lezen, het legt uit hoe je fonts uit een shared library kan trekken. Geen standaard constructie maar toch...

raidho
%Europe/Berlin %005 %2005, 01:07
hoe wil je een font naar het eeste frame exporteren?

importeer een font in je lib
ga er met je rechtermuisknop op staan
klik op linkage...

theFlashWizard
%Europe/Berlin %491 %2005, 12:47
ow.. das dus wat ik de hele tijd al dee.. maar dan geef je iets toch alleen maar een naam in de library en exporteer je het toch niet naar het 1ste frame :S:S

FredericCox
%Europe/Berlin %967 %2005, 00:12
ow.. das dus wat ik de hele tijd al dee.. maar dan geef je iets toch alleen maar een naam in de library en exporteer je het toch niet naar het 1ste frame :S:S

Moet je bij elk tekstvak embedden, ik gebruik een tekstvak in 82 mc's, moet ik elke keer embedden of volstaat 1 keer?

theFlashWizard
%Europe/Berlin %172 %2005, 05:08
ik gok dat je het altijd moet doen.. tenzij het 82 instances uit 1 mc in de library zijn..
maar bij embedden zeg je dus dat hij die figuurtjes moet opslaan en moet gebruiken.. maar die andere moeten het ook gebruiken dus zal je het wel aan moete zette denk..

TheDutch
%Europe/Berlin %341 %2005, 09:12
Behalve als je textFormat gebruikt en die toepast op alle textvelden ;).

FredericCox
%Europe/Berlin %626 %2005, 16:02
Behalve als je textFormat gebruikt en die toepast op alle textvelden ;).

U bedoelt..?

theFlashWizard
%Europe/Berlin %629 %2005, 16:06
owja tuurlijk.. Kvergat ff dat je die textfields ook weer vlink met AS kan aanpassen..

m0rdex
%Europe/Berlin %711 %2005, 18:04
Okee, ik werk met een LoadMovie() en daarin staan een paar static textjes. Die static textjes verschijnen (alleen als je de swf in een andere swf laadt) aan de linker en rechter kant perfect scherp, maar in het midden super wazig...

Is je studie ook al zover gekomen? of niet :) ??

theFlashWizard
%Europe/Berlin %861 %2005, 21:39
het is niet de bedoeling dat jij je vraag stelt in een post die al heel lang terug gemaakt is.. dus begin ff een nieuwe, stel daar je vraag in en em.. probeer iets duidelijk te zijn.. mshn door een fla of een kleiner voorbeeldje in een fla.

frontLawn.mow()
%Europe/Berlin %416 %2006, 09:59
zijweggetje...

wat te doen met htmlText?

het font van een htmlText-tekstveld embedden maakt dat de html-tags niet meer werken (alle tekst tussen bijvoorbeeld <b> en </b> verdwijnt)

het font niet embedden maakt dat de hele tekst niet leesbaar is achter een masker....

BernardV
%Europe/Berlin %441 %2006, 10:36
Dat kun je zo doen: http://www.flashfocus.nl/forum/showthread.php?p=148048#post148048

Of:
Maak een tekstveld aan op je stage, zet die op html rendering en typ daar even een stukje bold tekst, regular etc in en kies embed fonts.
Dan geef je hem een id als bv "fontHolder".
Sleep hem buiten je stage zodat je hem nooit zult zien.

Dan als je een nieuw tekstveld maakt gebruik je het zo:

var myNewTextField:TextField: this.createTextField(...);
myNewTextField.setNewTextFormat(_root.fontHolder.g etTextFormat(0));


En klaar ben je :)

frontLawn.mow()
%Europe/Berlin %454 %2006, 10:53
super!

eenvoudig maar toch doeltreffend