Jeg har et system programmeret i flash, som kalder alle tekstvars i _root... Men nu skal jeg så loade nogle nye eksterne tekster (fra txt-fil) med loadVars:
mineVars = new loadVars(); mineVars.load("tekster.txt"); osv...
Jeg vil nu undgå at skulle sætte en "mineVars" foran alle tekstVar-kald!!!
Derfor: Hvordan kalder jeg alle tekstfilens variabler til _root - eller hvordan overfører jeg alle "mineVars"-variabler til _root??
Men jeg forstår ikke rigtigt argumentet, om du skal skrive _root eller mineVars foran en variabel er vel et fedt, og med forskellige LoadVars objekter har du da nogenlunde styr på hvad der ligger hvor, og de bliver netop ikke rodet rundt med de øvrige variabler i _root?
Ja, det er et fedt - rigtigt nok også bedre at have mine variabler i "mineVars". Men problemet er, at jeg vil undgå at skulle ændre alle "tekstvariabel-kald" (mange forskellige steder) i flash-filen.
Alle tekster kaldes i _root og der er mere end 100 stk.
Derfor har jeg ikke lyst til: _root.tekst12 = mineVars.tekst12; _root.nyhedsTekst53 = mineVars.nyhedsTekst53; _root.andetTekst24 = mineVars.andetTekst24; _root.ordbogsTekst35 = mineVars.OrdbogsTekst35; ...
kan man ikke tage hele "mineVars"-objektet og smide dets indhold i _root på een gang?? Eller loade sine vars direkte til _root (uden at bruge loadVariables()).
Jeg tror ikke umiddelbart at der er en "rootify" funktion i flash? Jeg tror også at LoadVars objektet insisterer på at holde på variablerne? Men det kan da godt være jeg overser et eller andet?
Men hvis dine variabler allesammen er nummereret efter et system(?) ligner det da noget der kan simplificeres i en løkke?
Der er desværre for mange forskellige navne på variablerne, så det kan nok bedst betale sig at kalde loadVars-objektet på den "rigtige" måde... så det gør jeg! Ellers tak for det, mat. ((o;
nåeh jojo, men det er jo det samme, om det er pakket ind i en funktion eller ej er jo i virkeligheden lidt ligemeget. Ovenstående var blot en demonstration, ikke en implementation :)
Den eneste forskel er ve bare at vi her venter til data er hentet. Måske vi oven i købet skulle slette hele molevitten til sidst - Så variablerne ikke ligger 2 steder.
l.onLoad = function(s){ if(s){ for (a in this){ _root[a] = this[a]; } } deletet.this }
I mit eksempel laver jeg bare et LoadVars objekt og giver det nogle properties - ene og alene af testårsager - jeg henter jo ikke noget ind, det er kun et eksempel.
Du har helt ret i at det nok i en implementation ville ligge i onLoad() :) - men det forbehold at onLoad ligger een til i for..in loopet (tror jeg nok :)
Og delete sletter referencer ikke objekter, og du kan ikke delete "this" referencen (tror jeg nok :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.