[AS] Variabele afvangen

Pagina: 1
Acties:

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

Topicstarter
Ik ben bezig met een spel maken. Hiervoor moet ik een variabele kunnen definieren in de root en dan afvangen in een andere movieclip. Het gaat erom dat ik de nieuwe variabele doorkrijg in de movieclip, zonder die opnieuw te initialiseren.
De movieclip kiest dan wat te doen door middel van if statements.

Ik heb in de root een knop waarmee de variabele met 1 opgehoogd wordt.
De variabele komt binnen de root wel door, maar in mijn movieclip niet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
schudknop_mc.onPress = function()
{
    if(geschud < 3)
    {
        geschud += 1;
    }
    else
    {
        geschud = 1;
    }
    schudmeter.text = geschud;
}


code:
1
2
3
4
if(_root.geschud == 1)
{
    trace("GESCHUD is " + _root.geschud);
}


globaal is dit het idee... (het eerste stukje code staat in de root en het tweede stuk in de movieclip. Daar gebeurt natuurlijk iets anders dan alleen tracen (maar dat is om te testen).

Ik hoop dat iemand weet hoe ik nu die variabele correct kan afvangen, zit inmiddels met mijn handen in mijn haar over deze kwestie.

Bij voorbaat dank.

www.timovanderzanden.nl | Beer 'n' Tea


  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
Ik vind de uitleg een beetje onduidelijk, maar ik probeer het toch...
Je movieclip weet niet dat die var is gewijzigd want hij loopt er een keer langs, als je je flash start of je moet een onEnterframe of setinterval gebruiken. Kan je zoiets niet doen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var geschud = 0;
button.onRelease = function() {
    schudden();
};
function schudden() {
    if (geschud<3) {
        geschud += 1;
    } else {
        geschud = 1;
    }
    schudmeter.text = geschud;
    checkGeschud();
}
function checkGeschud() {
    if (_root.geschud == 1) {
        mc._doeietswattjeempwil;
        trace("GESCHUD is "+_root.geschud);
    }
}

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

misschien even het bij flash geleverde boek over DOM en parenting door lezen? (wellicht ook meteen even kijken naar globalm, _root en _level0 ? )

Verder zou ik graag weten wat de TS heeft gezocht en heeft gedaan en of hij zijn brein gebroken heeft alvorens hier te posten

Stoer; Marduq


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08 15:02
als je geschud buiten je mc initialiseerd dan is deze globaal. Momenteel declareer je 'm binnen een anonieme functie in een mc, waardoor die aan het eind van de functie dus getrashed wordt. (weet niet zeker)

Human Bobby


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

Justice schreef op woensdag 28 maart 2007 @ 13:07:
als je geschud buiten je mc initialiseerd dan is deze globaal. Momenteel declareer je 'm binnen een anonieme functie in een mc, waardoor die aan het eind van de functie dus getrashed wordt. (weet niet zeker)
weet wel zeker, klopt ;) ; wat ikniet zeker weet is of _level0.schudknop_mc.geschud bestaat.

vervang geschud in de functie door _root.geschud en het werkt opeens wel.

Stoer; Marduq