PDA

Volledige versie bekijken : Variabele als font instellen [gesloten]


Sharky_80
%Europe/Berlin %655 %2009, 15:43
Ik zit met een vraag, waar ik niet uitkom... Vanuit een formulier kan een gebruiker, een naam invoeren, een kleur en een lettertype kiezen. Deze variabelen worden dmv JS verstuurd naar onderstaand actionscript3. Het gaat om de variabelen name, color en lettertype.

De naam en kleur werken goed, alleen het lettertype moet ik nu handmatig in dit script aanpassen (font: ravie)

Nu ben ik op zoek naar een oplossing voor dit lettertype probleem Ik heb het idee dat ik er dichtbij zit maar krijg het niet voor elkaar.

Een demo van mijn vraag vindt je op http://www.demoxp.nl/


package {
import flash.display.MovieClip;
import flash.external.ExternalInterface;
import flash.text.TextField;
import flash.geom.ColorTransform;
import flash.text.Font;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.text.AntiAliasType;


public class Baby extends MovieClip {
public var baby_mc : MovieClip;
public var debug_txt : TextField;
public var name_mc: MovieClip;


public function Baby() {
ExternalInterface.addCallback("dada", makeMeABaby);


}

public function makeMeABaby(object : Object) : void {

// De naam wordt geplaatst op de layer name_txt in de mc name_mc
var myFont:Font = new ravie();// Hoe bepaal ik met een variabele dat hier één van de beschikbare embedded lettertypes kan komen?
var textFormat:TextFormat = new TextFormat();
textFormat.font = myFont.fontName;
var txt: TextField = name_mc.name_txt;
//txt.autoSize = TextField.autoSize; // Automatisch de tekst aanpassen werkt niet???
txt.defaultTextFormat = textFormat;
txt.embedFonts = true;
txt.antiAliasType = AntiAliasType.ADVANCED;
//txt.thickness = thickness(value:200);
//txt.sharpness = sharpness(value:200);
name_mc.name_txt.text = object.name;

// De waarden voor de kleur van de afbeelding worden opgehaald en toegepast.
var rgb: Array = String(object.color).split("|");
baby_mc.transform.colorTransform = new ColorTransform(1,1,1,1,rgb[0],rgb[1],rgb[2]);



}

}

}

marcvz
%Europe/Berlin %722 %2009, 17:19
var myFont:Font = new ravie();// Hoe bepaal ik met een variabele dat hier één van de beschikbare embedded lettertypes kan komen?


In je library met rechts op font klikken, linkage, export for actionscript aanvinken en bij class ravie invullen.

Sharky_80
%Europe/Berlin %909 %2009, 21:50
Dat heb ik al gedaan... Maar op deze manier: var myFont:Font = new ravie(); Moet ik telkens handmatig het lettertype aanpassen en 8 verschillende .swf's uploaden...

Mijn bedoeling is dus om via een userform een keuze in lettertype te maken, waarbij de .swf automatisch het gekozen lettertype gebruikt.

btw: In de swf heb ik de 8 benodigde fonts reeds in de library geplaatst op de manier hoe jij dat beschrijft..

marcvz
%Europe/Berlin %952 %2009, 22:51
Ik had die keuze menutjes ook gewoon in flash gemaakt..
Maar goed, je kunt toch gewoon in de constructor alle fonts al aanmaken.
Die stop je in een array, aan naar hand van wat er in de combobox staat haal je een item op uit de array en dat font hang je aan je textformat..