04. marts 2011 - 08:45Der er
2 kommentarer og 1 løsning
Min flash tæller springer ca. hvert andet sekund over
Jeg har lavet en tæller i adobe cs5, som regner min alder ud i sekunder og derfor løbende tæller et sekund ligesom et digital ur. Det virker fint når jeg tester det via flash cs5 programmet, men når jeg åbner det via en browser - både IE, Forefox og Google Chrome, springer den sådan cirka hvert andet sekund over. Det er uanset, om det blot er .swf filen, jeg åbner eller embedder den i HTLM kode.
public class Counter extends MovieClip { private var timer:Timer = new Timer(1000,0); private var birthdate:Date=new Date(1973,5,10,19,0,0,0); private var now:Date=new Date(); private var age:int;
public function Counter():void { age=((now.getTime()/1000)-(birthdate.getTime()/1000));
Din kode er ikke helt stabil, og din fejl er ganske sandsynligt her:
out.text=""+int(age+timer.currentCount);
Når du beder om at lægge timerens counter på, så driller det, hvis timeren driller eller indstilles forkert. Så i stedet bør du sætte out.text til at være korrekt altid - uanset hvad din timer gør. Prøv følgende:
public class Counter extends MovieClip { private var timer:Timer = new Timer(1000,0); private var birthdate:Date = new Date(1973,5,10,19,0,0,0); private var age:int;
public function Counter():void { age = (new Date().getTime() - birthdate.getTime()) / 1000;
timer.start(); trace("count"); }
public function count():void out.text = (getAge()).toString(); }
private function getAge():int { return (new Date().getTime() - birthdate.getTime()) / 1000; } } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.