PDA

Volledige versie bekijken : timer actie meegeven


Daffy
%Europe/Berlin %833 %2008, 20:59
beste mensen,

kheb het script uit dit topic kunnen gebruiken wat in principe werkt!



this.createTextField("output", 1, 0, 0, 150, 50);
woordOpmaak = new TextFormat();
woordOpmaak.size = 30;
woordOpmaak.align = center;
var interval = setInterval(this, "countDown", 1000);
var time:Number = 120;
function countDown()
{
time --;
output.text = Math.floor(time/60)+":"+(time%60);
output.setTextFormat(woordOpmaak);
if(time == 0){
_root.gotoAndPlay("spel", 70);
}
}




wat me niet lukt is het if statement laten werken onderin. Het is de bedoeling dat zodra hij bij 0 is naar de scene spel gaat en dan op frame 70 gaat spelen!

bvd
daffy

Jan
%Europe/Berlin %853 %2008, 21:29
Probeer eens met een framelabel ipv 70. En die scene benaming kan je misschien ook in het geheel weglaten.
Verder in het vervolg beter geen scenes meer gebruiken.Als je fla gecompiled wordt zet flash al die scenes gewoon achter elkaar op 1 tijdlijn. Frame nummers targetten in zo'n scene klopt dan niet meer.
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15703

En je interval niet vergeten te clearen op dat moment:
clearInterval(interval);

Groeten,
Jan

dcm360
%Europe/Berlin %862 %2008, 21:41
Verder in het vervolg beter geen scenes meer gebruiken.Als je fla gecompiled wordt zet flash al die scenes gewoon achter elkaar op 1 tijdlijn. Frame nummers targetten in zo'n scene klopt dan niet meer.Hmm, opvallend. Net heb ik even een experimentje gedaan om hier een antwoord te geven, en de clip ging telkens toch naar het opgegeven frame binnen de huidige of opgegeven scene.

verder vielen me twee dingen op: De eeste zoals Jan al opmerkte is het ontbreken van een clearInterval. Hoewel er in deze situatie niets misgaat omdat je specifiek opgeeft dat de tijd nul moet zijn en niets anders, is het mogelijk dat er nog code op de achtergrond uitgevoerd blijft worden, wat soms onvoorziene gevolgen geeft, en altijd wel rekenkracht kost die je beter kan benutten.
Wat ik me verder had bedacht: Waarom ga je direct door naar het 70ste frame van de scene 'spel'? Sla je dingen over of tel je misschien per ogeluk door vanaf de frames in de scene ervoor?

Zomaar wat suggesties, ik weet niet of je er wat mee kan, maat iig veel succes!

Daffy
%Europe/Berlin %875 %2008, 22:00
oke heel erg bedankt voor de reacties. Ik ga er eens naar kijken.
Ik wist niet dat het zo zat met scenes!! Ga er even achteraan. Kgebruik er namelijk 5:S

enne over die frame 70. de timer staat ook in 'spel'. istie 0 dan moet hij naar 70 omdat ervoor allemaal andere dingen gebeuren:D

Daffy
%Europe/Berlin %881 %2008, 22:09
nou het werkt


this.createTextField("output", 1, 0, 0, 150, 50); // maak een textveld met instance name output
woordOpmaak = new TextFormat(); // maak te tekst op
woordOpmaak.size = 30;
woordOpmaak.align = center;
var interval = setInterval(this, "countDown", 1000); // aantal variabelen om te rekenen
var time:Number = 120;
function countDown()
{
time --;
output.text = Math.floor(time/60)+":"+(time%60); // bereken tijd
output.setTextFormat(woordOpmaak); // set de opmaak
if(time == 110){
_root.gotoAndPlay("masking");
clearInterval(interval);
}
}




nou moet ik nog maar is kijken of ik die scenes ook na het compilen kan gebruiken:P

Jan
%Europe/Berlin %883 %2008, 22:12
Zolang je _root gebruik maakt het niet zoveel uit denk ik.
Maar die vermijd je best en als je dan in de plaats this.gotoAndStop() of gotoAndStop() gaat gebruiken is er wel een verschil als je meerdere scenes gebruikt en frame nummers target.

Groeten,
Jan

Daffy
%Europe/Berlin %889 %2008, 22:21
oke dus even voor de duidelijkheid.

als ik naar een frame link, kan ik het beste hem een label meegeven ivm met de scenes tog?

Jan
%Europe/Berlin %891 %2008, 22:24
Eigenlijk zijn framelabels altijd beter. Ook als je maar 1 scene gebruikt.
Als je achteraf in het begin van de tijdlijn frames gaat invoegen (bijvoorbeeld motion tweens langer of korter maakt) schuift alles op en klopt je script met framenummers niet meer, maar met framelabels wel.

Groeten,
Jan

Daffy
%Europe/Berlin %900 %2008, 22:37
oke dan bedankt