Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-10-2010, 15:13   #1 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
AS2 Skript setInterval/clearInterval anhalten

Hi, ich nerve hier alle mit meiner AutoPlay-Funktion, die in einer extra swf überwacht, ob jemand aktiv mit Maus oder Tastaur steuert. Das klappt mittlerweile 1a, nur gelingt es mir nicht, sie mittels Stop-Button auch wieder zu stoppen/starten. Selbst mit unloadMovie läuft das Skript weiter, Remove KeyListner habe ich vielleicht so halb hinbekommen, aber das Interval läuft weiter. Ich komme ohne Hilfe nicht mehr weiter.
Buenos Dias.

Code:
var keyListener:Object = new Object();

function MouseMoveKeyDown() {  
    
	gotoAndPlay(2);
	_level1.nextFrame();
	_level14.nextFrame();
	trace("No Mouse Move + no KeyPress!");  
    clearInterval(iv);
	
}  

iv = setInterval(MouseMoveKeyDown, 7000);  
	
	function onMouseMove() { 
    	
		clearInterval(iv); 
	
iv = setInterval(MouseMoveKeyDown, 7000);  
}


	keyListener.onKeyDown = function() {

		clearInterval(iv); 

iv = setInterval(MouseMoveKeyDown, 7000);  	
};
Key.addListener(keyListener);
Buenos Dias ist offline   Mit Zitat antworten
Alt 27-10-2010, 09:44   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus
Richtig deklarieren!
PHP-Code:
var keyListener:Object = new Object();
var 
iv:Number setInterval(MouseMoveKeyDown1000);
function 
MouseMoveKeyDown() {
    
trace("No Mouse Move + no KeyPress!");
    
clearInterval(iv);
}
function 
onMouseMove() {
    
clearInterval(iv);

    
iv setInterval(MouseMoveKeyDown1000);
}
keyListener.onKeyDown = function() {
    
clearInterval(iv);
    
iv setInterval(MouseMoveKeyDown1000);
};
Key.addListener(keyListener); 
Auf Deine weise, erstellst Du jeweils ein "setInterval" innerhalb der Funktionen!"!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 27-10-2010, 12:43   #3 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Gott sei Dank Hilfe.
Das sieht jetzt besser aus, aber klappt trotzdem nicht wie es soll. Allerdings sitzt auf meiner Seite jede Menge Ahnungslosigkeit.
Die Idee meiner Schleife ist aus einer extra swf über Maus- und/oder Tastatur aktivität zu wachen und wenn da nix ist 2 andere swfs jeweils einen frame weiterzubewegen und dann erneut zu gucken ob was ist und sonst wieder nach x Sekunden die anderen swfs weiterbewegen.
Wenn ich aber wirklich dauerhaft anhalten will, dann mittels extra stop-Button.

MausMove klappt.
KeyDown irgendwie nicht mehr.
Halt überhaupt nicht. Wenn ich dem Button clearInterval mitgebe halte ich die Schleife ja nicht an, sondern fange nur wieder an neu zu zählen, mit RemoveListener bin ich nicht weiter gekommen und selbst die swf entladen will ja nicht funktionieren, das Interval läuft irgendwo weiter...

Mache ich was grundsätzlich falsch? Wo läuft das Interval noch, selbst wenn die swf entladen ist? Könnte mir ein Timeout für den Button helfen?
Buenos Dias ist offline   Mit Zitat antworten
Alt 27-10-2010, 22:52   #4 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
So, nach ca. 1000 Versuchen tut sich was mit
Code:
delete setInterval
Allerdings so gründlich, das Interval dann auch gar nicht mehr neu anspringt, selbst wenn ich erneut in frame mit dem obigen Script springe...
Buenos Dias ist offline   Mit Zitat antworten
Alt 28-10-2010, 09:29   #5 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Zitat:
Zitat von Buenos Dias Beitrag anzeigen
KeyDown irgendwie nicht mehr.
Halt überhaupt nicht.
Schalt mal in der Testumgebung, unter "Steuerelement" --> "Tastaturbefehle deaktivieren" diese ab, dann müßten die Tasten auch gehen!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 28-10-2010, 09:48   #6 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Danke.
Ich habe ein bischen aufgeräumt und getestet, KeyDown klappt jetzt auch.
Aber es bleibt beim Problem das Interval per Button anzuhalten, clearInterval () will nicht, die Schleife wird nur unterbrochen und erneut x Sekunden gezählt, das ist ja eigentlich auch die Idee gewesen. Zudem wird auch das Betätigen meines buttons mit MouseMove und KeyDown überwacht und auch dabei die Schleife wieder angestellt.
Anhalten ist mir wie gesagt nur mit delete setInterval gelungen, aber dann springt das Interval wirklich nicht mehr an, selbst wenn ich erneut in den frame mit der Schleife springe.
Weiß schon wieder nicht mehr weiter.
Buenos Dias
Buenos Dias ist offline   Mit Zitat antworten
Alt 28-10-2010, 12:09   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Kann man das derzeitige Script nochmal sehen?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 28-10-2010, 12:38   #8 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
Gern.
Aktueller Versuch sieht so. Die Schleife liegt im ersten frame, wird aber nur einmal durchlaufen, daher wird sie aus gotoAndPlay(2) zum erneuten Prüfen zur Wiederholung in frame1 geschickt, nicht elegant, aber soweit doch ok hoffe ich.

Code:
var iv:Number = setInterval(MouseMoveKeyDown, 5000); 
function MouseMoveKeyDown() {
	
	gotoAndPlay(2);
	_level1.nextFrame();
	_level14.nextFrame();
	trace("No Mouse Move + no KeyPress!"); 
    clearInterval(iv);
} 
function onMouseMove() { 
    
	trace("cleared interval by MOUSE")
	clearInterval(iv); 
    iv = setInterval(MouseMoveKeyDown, 5000);
} 
var keyListener:Object = new Object();
keyListener.onKeyUp = function() { 
   
   	trace("cleared interval by KEY")
	clearInterval(iv); 
    iv = setInterval(MouseMoveKeyDown, 5000); 
}; 
Key.addListener(keyListener);
Per Button springe ich in frame3 und halte von da an oder will mittels if/else die Schleife in frame 1 starten. (Was eben nicht klappt!)

Code:
clearInterval(iv);
delete setInterval;
trace("cleared interval by STOP");
Key.removeListener(keyListener);
Das delete und/oder clearInterval kann ich auch an die Button function schreiben, aber das führte bisher zum gleichen Ergebnis. Hoffe Du/Ihr erkennt nicht nur mein Unvermögen - u.a. wg. Stand eher Flash5 - sondern könnt mir weiterhelfen.

Code:
Halt.onPress = function() { 
    
	if (_level10._currentframe<3) {
		
		_level10.gotoAndStop(3);
	    _level1.stop(_currentframe);
		_level14.stop(_currentframe);
		
    } 
	
	else { 
       	
		_level10.gotoAndPlay(1);
		
	}
}
Buenos Dias ist offline   Mit Zitat antworten
Alt 30-10-2010, 20:34   #9 (permalink)
Universaldiletta
 
Registriert seit: Jun 2001
Beiträge: 71
AS2 Skript setInterval/clearInterval anhalten

Ich hänge ziemlich fest, kann ich ncoh auf Hilfe hoffen?
Buenos Dias
Buenos Dias ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
as2, clearinterval, setinterval, stop, stop im mc

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
setInterval, clearInterval StoupaIs ActionScript 2 6 21-12-2006 10:53
setInterval & clearInterval RetTaminam ActionScript 2 1 19-11-2006 14:19
setInterval / clearInterval suicidegirl Flash MX 2004 10 11-07-2005 19:27
setInterval / clearInterval cmike Flash MX 2004 6 03-02-2005 11:35
setInterval + clearInterval fany ActionScript 1 2 05-07-2004 17:36


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele