PDA

Volledige versie bekijken : wat doe ik fout met variabelen?


RyanFromHolland
%Europe/Berlin %582 %2006, 13:58
O.K. ik ben een NOOB van de oude commodore 64 basic maar probeer toch ook iets leuks uit Flash te persen... :) zie hier mijn project (http://www.songanddance.nl)

Waarom werkt de variabele "x" niet in alle movies op de Scene1???
Op Scene1 staan verschillende MC's. Bijv: Binnen MC1 geeft ik in een actionlayer een waarde op x = 1; met later op de tijdlijn (51): if (x==1) {gotoAndPlay(50);}
een loop, so far so good? In een andere MC, MC2 geef ik op x = 2.
Waarom veranderd x in MC1 niet in waarde 2 wanneer in MC2 afspeel??? [?] [?]

Lijkt me simpele taal, krijg geen syntax errors maar het lijkt erop dat x in MC1 een andere x is dan in MC2...??? kan da?

Folkert
%Europe/Berlin %608 %2006, 14:36
Zeker.
Elke movieclip of level heeft zijn eigen timeline, en dus ook een eigen setje variabelen. Als je op de timeline van clip1 (mc1) een variabele set als x=1; dan word niet zomaar de x die op een andere timeline staat (mc2 bijvoorbeeld) ook die waarde.

Een voorbeeldje, je hebt standaard je _root (_level0) waar je alles zet wat je wilt. In jou geval 2 movieclips mc1 en mc2. Kortom je hebt al 3 timelines te weten

_root //of _level0
_level0.mc1
_level0.mc2

Wil je nu dat de x een variabele is die door beide clips gebruikt word dan zou je zoiets krijgen(op je _level0 timeline)

var x= 1;

Als je later de x wilt checken of veranderen vanuit je clips kan je ernaar refereren door

_parent.x; //_parent brengt je een timeline terug
_level0.x; //spreekt voor zich
_root.x; //kan omdat je niets inlaad of dergelijke

je code van
if(x==1)

word dan

if(_parent.x == 1)


wellicht heb je iets aan dit gewauwel ;)


Elke moviec

RyanFromHolland
%Europe/Berlin %618 %2006, 14:50
Heee toppie!!! Ik ga er ff mee stoeien, maar dit verklaard een hoop!

Thx mate!

RyanFromHolland
%Europe/Berlin %636 %2006, 15:16
Yes Yes Yes!!! het werkt! Many Thx!!!