Startseite › Foren › Deutsches LiveCode-Forum › Card wechseln per Zeitsteuerung? › Antwort auf: Card wechseln per Zeitsteuerung?
Hi Hartmut,
da kommen ein paar vage Erinnerungen hoch, ja, stimmt, Director musste man immer sagen „Nun bleib doch mal hier!“, bei LC „Nun geht doch mal woanders hin!“ 😀
OK, Dein Wunsch ist recht komplex, gehen wirs an!
Ein geSENDeter Befehlt ist hier natürlich auch nötig, aber wichtig ist ein FRONTSCRIPT, was alle Usereingaben registriert und dann weiterleitet.
Was benötigen wir:
1. Zuerst einmal alles sammeln, was als „User Interaktion“ (UI) gelten kann, also mouseup, keydown etc. und in ein Frotscript packen:
global ZeitSeitLetzterUI
on mouseup
put the seconds into ZeitSeitLetzterUI
## OK, registriert, nun weitergeben!
PASS mouseup
end mouseup
on keyup
put the seconds into ZeitSeitLetzterUI
PASS keyup
end keyup
## etc. für alles, was Du für User Interaktionen hälst
2. Einen Befehl, der prüft, wieviel Zeit seit der letzten UI vergangen ist.
Der wird periodisch geSENDet und handelt entsprechend, wenn es Zeit ist.
3. Eine globale Variable, die den Zeitpunkt der letzten UI hält, damit wir das mit unserem Limit vergleichen können. Siehe oben…
4. Wir setzen diese Variable auf -> the seconds direkt „on openstack“ und INSERTen das Frontscript. Und wir rufen direkt das CHECKER Skript auf -> zeitabgelaufen
5. Dann benötigen wir einen Handler, der die ganze Zeit die abgelaufene Zeit überprüft und reagiert, wenn das Limit überschritten ist, der geht ins Stackskript:
global ZeitSeitLetzterUI
command zeitabgelaufen
put the seconds into tAktuelleZeit
## Sofern Du das Limit auf 5 Minuten setzt:
if tAktuelleZeit - ZeitSeitLetzterUI >= (5*60) then
## Zeit abgelaufen, mach Dein SCREENSAVER Ding:
## Resetten, falls nötig?
## put the seconds into ZeitSeitLetzterUI
else
## Es ist noch Zeit, also weiterhin periodisch checken:
send "zeitabgelaufen" to me in 10 secs
end if
end zeitabgelaufen
Yo, soweit meine Ideen, ich hoffe, das hilft.
Bei Bedarf weiterhin hier nachfragen!
Gruß
Klaus