PDA

Volledige versie bekijken : createTextField dmv for loop met 6 verschillende textfields


boost
%Europe/Berlin %909 %2006, 21:49
Hallo,

Ik ben bezig met het maken van een dynamisch flash menu waarbij ik de items van het menu in een XML bestand gezet heb. Verder staat naast een titel van het menu item ook de url naar de pagina in... en nog meer...

XML:
<menu>
<item titel="home" url="page/home" kleur="000000" kleurover="ff0000" xpos="0" ypos="0" width="100">
</menu>

Zoals je ziet staan er 2 kleuren in, de "kleur" is wanneer een item "niks doet" en "kleurover" is als je er met de muis over gaat. Dit heb ik gedaan omdat ik verschillende thema's ga krijgen en dus zo die kleuren mooi kan in stellen. Ook de xpos en ypos heb ik erin gezet zodat ik flash zo min mogelijk hoef te doen, evenals de breedte van elke knop :)

nu ben ik even bezig geweest met het maken van een for loop en deze is als volgt.
* ps. ben nog niet bezig geweest met kleuren e.d. eerst maar es alle items op een rij :)

menuXML = new XML();
menuXML.ignoreWhite = true;
menuXML.onLoad = function()
{
var items,titel,link,kleur,kleurover,xpos,ypos,mwidth;
items = this.firstChild;
if( items.hasChildNodes() )
{
for(var i=0; i<items.childNodes.length; i++)
{
titel = items.childNodes[i].attributes.titel;
link = items.childNodes[i].attributes.link;
kleur = items.childNodes[i].attributes.kleur;
kleurover = items.childNodes[i].attributes.kleurover;
xpos = items.childNodes[i].attributes.xpos;
ypos = items.childNodes[i].attributes.ypos;
mwidth = items.childNodes[i].attributes.mwidth;
itemnaam = 'm_item_'+i;

_root.createTextField(itemnaam,1,0,0,300,25);
itemnaam.multiline = false;
itemnaam.wordWrap = false;
itemnaam.border = true;

myformat = new TextFormat();
myformat.font = "Verdana";
myformat.color = 0x000000;
myformat.bullet = false;
myformat.underline = false;

itemnaam.text = titel;
itemnaam.setTextFormat(myformat);
}
}
}
menuXML.load('menu.xml');

_root.createTextField(itemnaam,1,0,0,300,25);
werkt perfect!

maar bijvoorbeeld itemnaam.text = titel;
werkt niet omdat hij itemnaam hier niet als variabele interpreteerd, flash denkt dat itemnaam de naam van het textveld is. Hoe kan ik dit "omzeilen" ?

Dauntless
%Europe/Berlin %915 %2006, 21:58
_root[itemnaam].multiline = false;
Etc :).

boost
%Europe/Berlin %939 %2006, 22:33
_root[itemnaam].multiline = false;
Etc :).
Dank je wel! Dat werkt prima...

Nu nog het volgende...
Ik gebruik in mijn menu een apart font en deze wil ik graag gebruiken. Het is zo dat ik in de library een "new font" heb geplaatst en daar het aparte font aan heb gehangen, deze var. heet mfont maar nu; hoe kan ik deze gebruiken als font en hoe kan ik em "glad" maken?

[edit]
het font mfont heb ik nu als "gladde" tekst weten te krijgen :) moest linkage nog aanvinken :) dus dat werkt, nu de link nog hehe :) myformat.url = link; werkt niet