Avatar billede wilweb Nybegynder
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.
Avatar billede wilweb Nybegynder
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
Avatar billede andersbro Nybegynder
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;
}
Avatar billede wilweb Nybegynder
10. januar 2008 - 11:16 #3
ok så er jeg tilbage og det lyder smart...Jeg prøver lige
Avatar billede wilweb Nybegynder
10. januar 2008 - 12:03 #4
det kan jeg simpelthen ikke få til at virke, NaN (not a number) Flash er godt nok nutty..
Avatar billede andersbro Nybegynder
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;
}
Avatar billede wilweb Nybegynder
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...
Avatar billede wilweb Nybegynder
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
Avatar billede andersbro Nybegynder
10. januar 2008 - 13:23 #8
Sorry, der skal jo stå _root.count();  (med parenteser) før funktionen bliver kaldt - en svipser.
Avatar billede wilweb Nybegynder
10. januar 2008 - 13:28 #9
ok den så jeg heller ikke!
Avatar billede wilweb Nybegynder
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
Avatar billede andersbro Nybegynder
10. januar 2008 - 13:59 #11
Tak :-)
Desværre er jeg ikke helt så go' som jeg gerne ville være...
Avatar billede wilweb Nybegynder
10. januar 2008 - 14:29 #12
Jeg har en mere du kan øve dig på http://www.eksperten.dk/spm/813969
Avatar billede andersbro Nybegynder
10. januar 2008 - 14:33 #13
Yes, så den godt, men har ikke tid nu...
Avatar billede wilweb Nybegynder
10. januar 2008 - 15:07 #14
ok
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

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