Avatar billede gnuen_fra Nybegynder
13. april 2005 - 15:50 Der er 16 kommentarer og
1 løsning

"global" variabel

Hvordan opretter man en global variabel i flash mx 2004?
jeg skal bruge en værdi fra et movieclip i et andet.
Avatar billede barklund Nybegynder
13. april 2005 - 15:57 #1
Det er nemmere bare at referere til den samme sted. Altså hvis du har en variabel i et movieclip og skal bruge den fra et direkte undermovieclip til dette skriver du bare _parent.variabel_navn.

Og sådan kan man altid finde en sti, hvor de to movieclips kan kommunikere med hinanden via.
Avatar billede _k Nybegynder
13. april 2005 - 16:00 #2
(gode argumenter fra Barklund, men du kan også bruge: _global.variabelNavn)
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 08:59 #3
okay... nu er den _global.variabelNavn så oprettet. men hvordan henter henter jeg den så?
Avatar billede _k Nybegynder
14. april 2005 - 09:17 #4
Ved at skrive: _global.variabelNavn ;o)

F.eks.: trace("Og her er min globale variabel så: " + _global.variabelNavn);
Avatar billede barklund Nybegynder
14. april 2005 - 09:19 #5
Og ideen i globale variabler er selvfølgelig, at man ikke skal skrive _global foran, hvis man skal læse dem - der er kun, når man skal sætte dem:

_global.variabelNavn = "flaf";
trace("hvad er den globale variabel? " + variabelNavn);

Men jeg vil stadig påstå, at brugen af _global er ganske overflødig i denne sammenhæng.
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 09:32 #6
I dont get it then... Den siger nemlig at variabelNavn er undefined.

Det jeg skal bruge er højden af movieClip tekst_mc og have billed_mc placeret her under hele tiden.

_root.tekst_mc._height kan hentes når jeg lægger den på movieclipet men ikke inde i det movieclip hvor jeg skal bruge det.
Avatar billede barklund Nybegynder
14. april 2005 - 09:35 #7
Se, vi har jo ret svært ved at gætte os til din opbygning. Men et godt bud er, at du forsøger at læse variablen før du har sat den - og det kan man selvfølgelig ikke. Prøv engang i den frame, hvor du sætter den globale varaibel at skrive trace("sat!"); og i den frame, hvor du læser den, at skrive trace("læst");  hvilket linje kommer først i output?
Avatar billede _k Nybegynder
14. april 2005 - 09:43 #8
Neat at man ikke skal sætte _global foran, det viste jeg faktisk ikke.... Men tror nu ikke at jeg nogensinde kommer til at bruge det alligevel, jeg er alt for glad for at bruge de samme variabelnavne igen og igen ;o)

Din opbygning lyder lidt sort og kompliceret. Har du tænkt på at bruge _visible = false på dine mc'er eller flytte dem off stage i stedet for at fjerne dem helt fra tidslinjen?
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 10:02 #9
Det er til en scrollfunktion så jeg både kan scrolle tekst og billeder hvilket man jo ikke kan normalt.
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 10:11 #10
Meget godt gæt barklund... min udfordring er nu at få byttet om så jeg får sat variablen inden den skal bruges.
Avatar billede barklund Nybegynder
14. april 2005 - 10:14 #11
gnuen_fra, eller tænker det hele lidt om :)

_k, du skriver altså altid _global.Number, _global.XML og så videre? De indbyggede klasser ligger jo også "bare" på _global.
Avatar billede _k Nybegynder
14. april 2005 - 10:32 #12
Barklund: Naturligvis skriver jeg ikke _global.number osv. Men nu du siger det, har jeg aldrig tænkt dem som globale, men snarere som objekter der var programmeringssprogsspecikke. Men kan da godt se at det er 2 sider af samme sag - og at der i forhold til f.eks. Java er importeret en dejlig stor mængde klasser til os på forhånd....

gnuen_fra: Du kan scrolle både tekst og billeder både ved at smide html ind i et alm. tekstfelt, eller bruge scrollPane komponenten. Men kan da godt være du opbygger en helt anden funktionalitet end de understøtter?
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 11:07 #13
alle tekster og billednavne bliver hentet fra XML. har førsøgt mig frem med forskellinge løsninger...
Avatar billede barklund Nybegynder
14. april 2005 - 11:28 #14
Okay?
Avatar billede gnuen_fra Nybegynder
14. april 2005 - 13:00 #15
hey... jeg fik løst problemet... Det var egentlig ikke så svært - men svært for en grøntsag som mig  ;o)

Det var barklunds kommentar om at sætte nogle traces ind der gjorde forskellen. smid et svar tak og tak for hjælpen.
Avatar billede barklund Nybegynder
14. april 2005 - 13:51 #16
Helt fint :)
Avatar billede barklund Nybegynder
14. april 2005 - 14:22 #17
Tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester