Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-07-2004, 17:11   #1 (permalink)
remember, sometimes...
 
Registriert seit: Aug 2001
Ort: berlin
Beiträge: 186
set / clear Intervall Wert zurückgeben

Hi,

Ich habe eine Intervalfunktion, die nach 5000 ms automatisch eine Aktion durchführen will.
Soweit so gut.
Jetzt habe ich aber zusätzlich eine PauseTaste, die dem User erlaubt, den Intervall vorzeitig zu unterbrechen. (mit clear I.)
Drückt der USer nach einer beliebigen Zeit wieder auf "Weiter", möchte ich die Intervallfunktion erneut aufrufen, allerdings diesmal nur mit der verbleibenden Zeit.

Eigentlicher Intervall = 5000 ms
User Abbruch nach z.B. =3500 ms
erneuter Inverallaufruf 5000-3500 ms

Um das zu erreichen, muß ich allerdings als Wert zurücknekommen, nach wieviel Millisekunden der erste Intervall unterbrochen wurde.

Ist das möglich ?
lookout ist offline   Mit Zitat antworten
Alt 23-07-2004, 17:41   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
ich glaube da kannste dann die fn getTimer() verwenden
einfach mal in der flash referenz gucken!
pape ist offline   Mit Zitat antworten
Alt 23-07-2004, 17:42   #3 (permalink)
Flash-holic
 
Benutzerbild von DeMoehn
 
Registriert seit: Nov 2003
Ort: Neunkirchen(Saar)
Beiträge: 988
PHP-Code:
var 0;
interVal setInterval(millisek1);
interVal2 setInterval(ka5000);
function 
millisek() {
    if (
a>=500) {
        
0;
    } else {
        
a++;
    }
}
function 
ka() {
    if (
pressed) {
        
pressed false;
        
clearInterval(interval2);
        
interVal2 setInterval(ka5000);
    }
    
trace("blub");
    
trace("bei "+a);
    
0;
}
stopBtn.onPress = function() {
    
rest 5000-(a*10);
    
pressed true;
    
clearInterval(interVal2);
};
playBtn.onPress = function() {
    
interVal2 setInterval(karest);
}; 
probies ma. Is sau schwer nachzuvollziehen obs geht oder nich, bei 5 sek. naja. wie gesagt mach ma
__________________
Wer Großes versucht, ist bewunderswert, auch wenn er fällt.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)



Geändert von DeMoehn (23-07-2004 um 17:45 Uhr)
DeMoehn ist offline   Mit Zitat antworten
Alt 23-07-2004, 23:06   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
einen mc zum starten des ganzen ...nennen wir ihn 'butt'.
einen mc zum anhalten des ganzen, nennen wir ihn 'mc'
einen mc zum wieder starten des ganzen, nennen wir ihn 'butt2'

und einen variable 'delay', die legt fest wie lange der interval sein soll, also hier 5 sekunden (5000ms)


und folgendes script:
ActionScript:
  1. function checkTime(){
  2.      pastTime = getTimer()-t;
  3.      trace('Vergangene Zeit ist : '+pastTime+'            Restzeit = '+(delay-pastTime)+'\n\n');
  4.      updateAfterEvent();
  5. }
  6. function doit (){
  7.     trace('Hello nach gesamt '+(getTimer()-t)+' ms.\nDie Restzeit nach Pause betrug '+elapseTime);
  8.     clearInterval(intval);
  9.     delete intval;
  10. }
  11.  
  12. delay = 5000;
  13.  
  14. butt.onRelease=function(){
  15.      t = getTimer();
  16.      checkval = setInterval(checkTime, 20);
  17.      intval = setInterval(doit, delay);
  18. }
  19.  
  20. mc.onRelease=function(){
  21.     clearInterval(intval);
  22.     trace('Counter abgebrochen bei : '+(delay-pastTime));
  23.     clearInterval(checkval);
  24.     delete checkval;
  25. }
  26.  
  27.  
  28. butt2.onRelease=function(){
  29.         elapseTime = delay-pastTime;
  30.         t = getTimer();
  31.         intval= setInterval(doit, elapseTime);
  32. }

natürlich kannst du trace() entfernen odr ersetzen...die sind nur zum veranschaulichen da...

aber gleich ein hinweis...
nach dem pausieren des intervalls und dem erneuten starten mit der restzeit entsteht eine lücke von ca. 100ms...[immerhin ne zeh´ntel sekunde ca.]


viel spaß damit


greetz


kelor

Geändert von kelor (23-07-2004 um 23:07 Uhr)
kelor ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele