java script, togglefunktion mit geschwindigkeitsänderung

Gast #4548954
Lesenswert?

Ich versuche gerade mit meinem espruino in java skript einen 4x4x4- LED- 
cube anzusteuern. dabei möchte (nur so zum spaß) eine toggle-fnktion mit 
automatischer zeitänderung schreiben. soll heißen: 5x alle 200ms 
blinken, dann umschalten und nur mehr alle 500ms 5x blinken usw.. die 
funktion toggle funktioniert intern an sich d.h. "anz" & "time" werden 
intern erhöht und auch wieder rückgesetzt aber in der 
"setinterval"-funktion wird "time" nicht geändert und behält immer 
seinen anfangswert. weiß jemand was ich falsch mache?

schon mal danke im voraus,
lg vanii
Angehängte Dateien:
#4549244
Lesenswert?

setInterval(toggle, time) erzeugt einen 'timer' der die Funktion toggle 
alle 'time' msek aufruft. Wenn dieses callback einmal definiert ist 
haben spätere Änderungen der Variablen time keine Auswirkung mehr. Um 
die Zeit zu ändern musst du mit changeInterval die gespeicherte Zeit 
ändern, oder mit clearInterval löschen und neu anlegen.

http://www.espruino.com/Flashing+Lights

Alternativ könnte man auch den Timer einmalig mit 100msek definieren und 
dann in toggle() entscheiden ob die LEDs bei jedem 2. oder 5. Aufruf 
umgeschaltet werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren