PDA

Volledige versie bekijken : puntentelling in variabelen


arjonnetjuh
%Europe/Berlin %566 %2006, 14:35
Hallo,

ik heb een vraag voor een klein flashprojectje..

het is de bedoeling op het juiste moment op de goede pijltjesknop te drukken,

nu wil ik dat hij de "puntenvar" +1 doet zodra er op een goede knop is gedrukt. dat heb ik geprobeerd met het volgende scriptje;


on(keyPress "<Left>"){
puntVar += 1;
}


die heb ik achter de button "links" gezet, zodat iedere keer als op leftkey wordt gedrukt de puntvar 1 omhoog gaat. zo heb ik dat ook gedaan bij de buttons right, up en down.


nu heb ik een scorebalkje gemaakt, een dynamic text(variabele=puntenweergave) en daarin wil ik de punten laten zien(als de puntVar op 1 staat, moet er 1 staan, op 5 moet er 5 staan enz.)

dat heb ik als volgt:
in het frame actionscript staat dit:

if(puntvar=1){
puntenweergave == "1"
}

if(puntvar=2){
puntenweergave == "2"
}

enz.

ik heb al veel dingen geprobeerd, maar het werkt op een of andere manier niet. nu is het met het laatste stukje script ook heel erg met een omweg gedaan denk ik, maar beter wist ik niet..

kan iemand me hiermee helpen?
dat de puntvar + 1 gaat als je goed drukt, en dat de putnvar wordt weergegeven in mijn dynamic textbox?

alvast bedankt,

arjonnetjuh
%Europe/Berlin %584 %2006, 15:01
ik heb wat hulp gehad van erwin, maar we kwamen niet verder dan dit, wat helaas ook niet werkt..


on(keyPress "<Left>"){
blablavar += 1;
text1.text = blablavar;
}

Erwinzzz
%Europe/Berlin %631 %2006, 16:08
Je zit waarschijnlijk nog 'in' die mc. Dit is weer een voorbeeld warom je op je frames moet scripten. Dit is ook makkelijker:

this._parent.puntenweergave = puntvar;

arjonnetjuh
%Europe/Berlin %642 %2006, 16:25
ik heb geen movieclips aangemaakt, dat kan het niet zijn..

Erwinzzz
%Europe/Berlin %648 %2006, 16:33
die heb ik achter de button "links" gezet,

Hier staat je script toch op..?

FredHeusschen
%Europe/Berlin %649 %2006, 16:35
dit klopt niet:
if(puntvar=1){
puntenweergave == "1"
}

if(puntvar=2){
puntenweergave == "2"
}
moet zijn:
if(puntvar==1){
puntenweergave = "1"
}

if(puntvar==2){
puntenweergave = "2"
}
maar je kunt ook gewoon het tekstveld de variabele 'puntVar' geven ipv deze (zoals je zelf zegt) omweg.

arjonnetjuh
%Europe/Berlin %674 %2006, 17:10
ik heb de oplossing, ik heb de var nu in frame 1 op 0 gezet

puntenvar = 0;


in frame 3 heb ik gezet:

gotoAndPlay(2);

(dan springt de var niet steeds opnieuw op 0 als het filmpje overnieuw start)

onder een onzichtbare button heb ik dit geplaatst:

//RIGHT kun je veranderen in gewenste key
on (keyPress "<Right>") {
puntenvar+=1;
this._parent.text1 = puntenvar;
}


vervolgens heb ik als laatst bij het hokje "variabele" van de dynamic text puntenvar ingevoerd.. en bij de instance text 1(laatste is overbodig, maar omdat ik dat nodig had voor een ander stukje script zit dat erbij;))

dat was het,
bedankt voor jullie hulp..

TheZwier
%Europe/Berlin %676 %2006, 17:13
Je zit waarschijnlijk nog 'in' die mc. Dit is weer een voorbeeld warom je op je frames moet scripten. Dit is ook makkelijker:

this._parent.puntenweergave = puntvar;


Fout, helaas. Op een mc kun je geen on(event) gebruiken (kan wel, maar dan gedraagt het zich als een button) en een button heeft de handige eigenschap dat het de level van z`n parent automatisch aanneemt.
Oftewel een button in de root heeft dus als level _root en niet _root.button