PDA

Volledige versie bekijken : betere code


Fatty Owl
%Europe/Berlin %646 %2005, 16:30
ik heb een teller die de tijd telt, maar ik denk dat mijn code een beetje te ver gezocht is. is hier geen kortere code voor?var tijd = 0;
var teller = 0;
var fps = 12;
_root.onEnterFrame = function() {
teller += 1;
if (teller == fps) {
tijd += 1;
teller = 0;
}
};

ik dacht zoiets met gettimer, maar van de help snap ik niet veel :).

ninetynine
%Europe/Berlin %648 %2005, 16:34
beter : :p

setInterval(timer,1000) // 1000 milliseconden = 1 sec.
timer = function(){
time.text = Number(time.text+1)
}

Roenes
%Europe/Berlin %649 %2005, 16:35
getTimer() werkt heel simpel hoor en is hier uitermate geschikt voor. Even kort over getTimer:

getTimer geeft het aantal milliseconden (milliseconde = 1 duizendste van een seconde) terug dat de swf geopend is. Dus je kunt op ieder gewenst moment met getTimer() opvragen hoelang een swf al open staat. Als je dit getal deelt door 1000 en netjes afrond heb je het aantal seconden :)

Dat werkt dus wat beter als jouw code en is niet afhankelijk van je fps. Jij moet deze variabele zelf aanpassen mocht je je fps wijzigen anders klopt het niet meer :)

Fatty Owl
%Europe/Berlin %657 %2005, 16:46
hmm..dan vind ik mijne toch de handigste...omdat ik die van housenfreak niet kan toepassen (weet niet hoe:)) en gettimer geeft de tijd vanaf het openen van de swf, en ik wil de tijd vanaf het binnekomen van die frame...

ninetynine
%Europe/Berlin %659 %2005, 16:50
hmm..dan vind ik mijne toch de handigste...omdat ik die van housenfreak niet kan toepassen (weet niet hoe:)) en gettimer geeft de tijd vanaf het openen van de swf, en ik wil de tijd vanaf het binnekomen van die frame...

oh, maar is niet moeilijk, waar gebruik je het voor ?
op een mc , wanneer je een button aanklikt ,... ?

(btw tis houstonfrieks :p :D )

Fatty Owl
%Europe/Berlin %673 %2005, 17:09
oh, maar is niet moeilijk, waar gebruik je het voor ?
op een mc , wanneer je een button aanklikt ,... ?

(btw tis houstonfrieks :p :D )
en op een frame, :)houstonfrieks:)?

chic0
%Europe/Berlin %686 %2005, 17:28
Ik zou Roenes' methode gebruiken, want de setInterval is niet 100% betrouwbaar om iets te timen.
setInterval(timer,1000) zorgt ervoor dat de functie 'timer' elke 1000 milliseconden herhaald wordt, maar in praktijk is het veel minder accuraat.
De afwijking verschilt dan nog eens van framerate tot framerate.
Voor een interval van 100 - setInterval(timer, 100) - zien de werkelijke intervaltijden er zo uit, bij verschillende fps:

10 fps: interval = 102 ms
11 fps: interval = 183 ms
12 fps: interval = 175 ms
15 fps: interval = 134 ms

Dus: hoe langer je timed, hoe groter de fout wordt.

getTimer() gebruiken! :)