Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-03-2006, 05:16   #1 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
Unhappy Problem mit SetInterval bei mc-Verschachtelung

Hallo Leute,

ich bin dabei einen mp3player zu basteln, momentan hänge ich am pause-button. ich schaffe es nicht, beim 2. frame des buttons einen intervall zu re-starten. hab bereits etliche threads hier durchgelesen, aber konnte das problem nicht lösen.

*** der erste frame des buttons klappt einwandfrei, beim zweiten wird nur der intervall, der den countdown controlliert, nicht wieder gestartet ***

verschachtelung des flashfilms:

hauptebene mit mc "control", darin ein weiterer mc mit dem pause-button.

1. frame des buttons:

Code:
on (release){
	pause = int((_root.control.sound_mc.sound_obj.position)/1000);
	_root.control.sound_mc.sound_obj.stop();
	clearInterval(_parent.iv);
	_root.control.zaehler.text = _global.cdown - pause;
	gotoAndPlay(2);
	trace(pause);
}
2. frame des buttons:

Code:
on (release){
	_root.control.sound_mc.sound_obj.position = pause;
	_root.control.sound_mc.sound_obj.start(pause, 0);
	iv = setInterval(countDown, 1000);
	updateAfterEvent()
	gotoAndPlay(1);
	trace(pause);
}
der intervall-code steht auf einer ebene im control-mc, also eine "etage" weiter drüber.

danke für eure hilfe

grüße,
madtrigger

Geändert von madtrigger (26-03-2006 um 05:18 Uhr)
madtrigger ist offline   Mit Zitat antworten
Alt 26-03-2006, 14:44   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Versuchs mal mit
PHP-Code:
//2. Frame:
on (release){
...
_global.iv setInterval(countDown1000);

//1. Frame:
on (release){
...
clearInterval(_global.iv); 
Und auch im Control-MC ein Interval mit _global.iv starten...
  Mit Zitat antworten
Alt 26-03-2006, 16:03   #3 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
danke für deine antwort!

also, anscheinend läuft der intervall doch weiter. das erkenne ich daran, dass nachdem ich pausiert & wieder gestartet habe beim erneuten pausieren die aktuell verbleibende zeit in sekunden angegeben.

kann es daran liegen, dass ich dem textfeld einen neuen inhalt zugewiesen habe (button frame1), der den text von meiner countdown-funktion einfach überlagert?

wie kann ich das ändern?

das hier ist das script für die countdown-funtion:

Code:
		var i = _global.cdown;
		var tl = _root.control;
		function countDown() {
			--i == -1 ? clearInterval(iv) : tl.zaehler.text=i;
		}
		iv = setInterval(countDown, 1000);
		tl.zaehler.text = i;

Geändert von madtrigger (26-03-2006 um 16:06 Uhr)
madtrigger ist offline   Mit Zitat antworten
Alt 26-03-2006, 17:49   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Schieb mal die fla rüber, mit den Code-Schnippseln kann ich nichts anfangen.
  Mit Zitat antworten
Alt 26-03-2006, 18:20   #5 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
hier ist der link:

http://home.pages.at/technotium2/flash/player.rar

musst dann noch einen ordner "songs" anlegen und dort musik reinkopieren (lied1.mp3, lied2.mp3; siehe xml datei)

besten dank


***edit: die funktionen sind eigentlich fast komplett. die letzte sache, die neben einem funktionierenden pause-button noch fehlt, ist eine zeitabhängige rotation des mc ("control") [einmal 360°] in abhängigkeit von der tracklänge!

bin da gerade noch am rumbasteln, aber du kannst mir dann ja vielleicht auch gleich sagen, wenn du das ding siehst, ob sich das auch so realisieren lässt

Geändert von madtrigger (26-03-2006 um 18:25 Uhr)
madtrigger ist offline   Mit Zitat antworten
Alt 26-03-2006, 21:39   #6 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
wie schaut's?
madtrigger ist offline   Mit Zitat antworten
Alt 28-03-2006, 19:31   #7 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
*räusper*

agedoubleju?
madtrigger ist offline   Mit Zitat antworten
Alt 28-03-2006, 22:06   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was?
  Mit Zitat antworten
Alt 31-03-2006, 12:15   #9 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
Zitat:
Zitat von agedoubleju
Schieb mal die fla rüber, mit den Code-Schnippseln kann ich nichts anfangen.

oben ist sie, im rar archiv
madtrigger ist offline   Mit Zitat antworten
Alt 31-03-2006, 13:06   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich sehe in deinem Script nur, dass du deine Intervall-Ids auf den einzelnen Schaltflächen immer noch mit der lokalen Protoyp-ID löschen willst... Was gibt denn bspw. ein trace("iv="+iv) auf folgendem Script:
PHP-Code:
_root.control.btn_stop.onRelease = function() {
    
this._parent.sound_mc.sound_obj.stop();
    
//Wiedergabe stoppen
    
clearInterval(iv);
        
trace("iv="+iv);//ist iv überhaupt bekannt?
}; 
Und dann solltest du dir folgende Funktion genau austracen lassen:
PHP-Code:
function countDown() {
trace("i vorher="+i);
            --
== -clearInterval(iv) : tl.zaehler.text=i;
trace("i hinterher="+i);
trace("tl.zaehler.text="+tl.zaehler.text);
        }
        
iv setInterval(countDown1000); 
  Mit Zitat antworten
Alt 31-03-2006, 18:50   #11 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
ahh, verdammt... iv ist natürlich = 1 ...

ich weiß auch nicht, was ich mir dabei gedacht habe

wie kann ich diese countdown funktion denn von außen (also zB bei meinem pause button) stoppen (ihr einen fixen wert zuweisen, der solange anhält bis der pausebutton ein zweites mal geklickt wird) ) und danach von diesem wert weiter runterzählen lassen?

besten dank soweit!
madtrigger ist offline   Mit Zitat antworten
Alt 31-03-2006, 22:39   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
So wie weiter oben von mir vorgeschlagen... Oder mit unterschiedlichen ID-Referenzen...
  Mit Zitat antworten
Alt 01-04-2006, 20:35   #13 (permalink)
completely mad
 
Registriert seit: Mar 2006
Beiträge: 160
hab jetzt einiges ausprobiert, aber irgendwie krieg ich das nicht hin ...

naja, danke für deine hilfe...
madtrigger 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 04:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele