[Flash]Actionscript reset wat niet moet...

Pagina: 1
Acties:

  • tafkaw
  • Registratie: December 2002
  • Laatst online: 10-05 09:07
Geachte mensen,

Ik ben bezig met actionscript en nou wil ik daar een simpel timertje in. Dus dat ding moet gewoon beginnen te lopen bij 00:00:00 (hh:mm:ss) en dan lopen. Nou had ik dit prachtig opgelost doormiddel van een stapeltje ifjes en een getTimer(). Probleem hiervan is echter dat mijn prachtige teller 100% CPU gaat trekken. Dus gooi ik het over een andere boeg: maak een lege MovieClip met daarin 24 frames (=FPS) en dan op het laatste frame de volgende code:

var teller:Number = 0;
teller++;
trace(teller);

Doordat de MovieClip zichzelf loopt zou dus elke keer teller met 1 verhogen. Het vervelende is echter dat bovenaan staat var teller:Number = 0, met andere woorden hij reset steeds de waarde.

Dit zou ik kunnen oplossen door een nieuwe variabele te maken waar i alles in dump (dus dan wordt het var teller:Number = teller2) . Echter weet Flash mij dan mooi te melden dat teller2 toch echt geen Number is en we dat dus niet gaan slikken.

Ook het weglaten van de regel var teller:Number = 0 werkt niet want dan vind ome Flash dat je niet gedefined hebt dat het een number is en dan neemt ie automatisch een string en een string kun je niet ++ doen (krijg je NaN als foutmelding, Not a Number).

Op zich heeft Flash helemaal gelijk met zn foutmeldingen, alleen weet ik niet hoe ik het moet oplossen momenteel (dit laatste kan ook liggen aan het feit dat ik al een paar dagen eigenlijk continu tegen AS code aanstaar...)

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 25-03 10:55

XangadiX

trepanatie is zóó kinderachtig

quick and dirty oplossing:

code:
1
2
3
4
if (init==null) {
 init = 1
 teller = 0
}


simpel doch effectief
maar gewoon var teller moet ook werken (zonder :Number)

[ Voor 21% gewijzigd door XangadiX op 18-03-2005 02:11 ]

Stoer; Marduq


Verwijderd

Als je een teller wilt neem ik aan dat je na de teller een ander frame wilt laten zien. Waarom zet je dan niet gewoon op het laatste frame van je movieclip gotoAndPlay(); of gotoAndStop();