08. januar 2008 - 21:14
Der er
13 kommentarer og 1 løsning
global variable som tæller
Jeg vil gerne lære at bruger en global variable som tæller Jeg har flere MC i flere niveauer. Burde en global variable ikke gælde over alt i swf'en? Jeg kunne sikkert nøjes med at tælle op med _root.counter++; i de forskellige levels af MC men så er det jo ikke globalt. Placeret i onloadMC har jeg en onClipEvent (load) og sætter _global.counter = 0; Placeret i containerMC --> knapperMC -->root but01.onRelease = function() { counter++; trace(counter);// viser 1 trace(_global.counter); //viser 0 _root.gotoNewXpos = 5; _root.gotoNewYpos = 15; }; if (counter == 10) { trace(counter);// viser ingenting } else { trace(counter);// viser ingenting } Placeret i containerMC --> spm01MC -->root butTilbage.onRelease = function() { trace(counter);// viser 0 _root.gotoNewXpos = 390; _root.gotoNewYpos = 15; if (counter == 10) { trace(counter);// viser ingenting } else { trace(counter);// viser ingenting } }; jeg har søgt efter tutorials, hvor globale variabler indgår i flere MC i flere levels uden held. hvåer på I kan opgradere mig.
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
08. januar 2008 - 21:17
#1
jeg skal lige sige at i: but01.onRelease = function() { til but10.onRelease = function() { tracer den tælleren fint til 10, men som du kan se kommer jeg ikke ind i if () statementen
10. januar 2008 - 10:31
#2
Jeg ville lave en funktion i et framescript på Stagen _global.counter = 0; function count() { _global.counter++ if (_global.counter >= 10){ trace("gør noget"); } else { trace("gør noget andet"); } } Og på knappen: butTilbage.onRelease = function() { _root.count; }
10. januar 2008 - 11:16
#3
ok så er jeg tilbage og det lyder smart...Jeg prøver lige
10. januar 2008 - 12:03
#4
det kan jeg simpelthen ikke få til at virke, NaN (not a number) Flash er godt nok nutty..
10. januar 2008 - 12:17
#5
I princippet behøver du ikke at definere counter som _global, da både funktionen og variablen ligger i samme scope. Dvs. i _root var counter:Number = 0; function count() { counter++; if (counter >= 10){ trace("gør noget"); } else { trace("gør noget andet"); } } Og på knappen: butTilbage.onRelease = function() { _root.count; }
10. januar 2008 - 13:06
#6
Jeg har lige omdøbt counter til teller ellers tror jeg jar har gjort som dit forslag: i root ligger: var teller:Number = 0; function count() { teller++; trace(teller);// viser ingen ting if (teller >= 10){ trace("gør noget"); } else { trace("gør noget andet"); } } og i contentMC --> spmMC1 (knappen) butTilbage.onRelease = function() { trace(_root.teller); //viser 0 _root.count; } Jeg tror ikke jeg kommer inde i din function...
10. januar 2008 - 13:09
#7
men der traces ingen værdier... som du kan se i // bemærkningerne Jeg publicerer i AS 2.0 Gad vide om min Flash skal geninstalleres.... Det er da mærkeligt
10. januar 2008 - 13:23
#8
Sorry, der skal jo stå _root.count(); (med parenteser) før funktionen bliver kaldt - en svipser.
10. januar 2008 - 13:28
#9
ok den så jeg heller ikke!
10. januar 2008 - 13:46
#10
Ok så går det jo rigtig godt.... Tak for hjælpen andersbro, du er faktisk ret dygtig... Svarer du lige
10. januar 2008 - 13:59
#11
Tak :-) Desværre er jeg ikke helt så go' som jeg gerne ville være...
10. januar 2008 - 14:33
#13
Yes, så den godt, men har ikke tid nu...
10. januar 2008 - 15:07
#14
ok
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.