Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2011, 08:51   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
PauseScript in verschachteltem MC

Moin zusammen,

ich habe folgendes Pause Script gefunden, welches auch gut auf der obersten Timeline funktioniert.

Code:
// Call the function, time in seconds
sleep(3);

function sleep(sec) {
	// Stops the script on the current frame
	stop();

	// The actual pause, and starter
	setTimeout(this.gotoAndPlay, sec*1000, this.currentFrame + 1);
}
Code:
sleep(5);
Ich möchte aber an einem bestimmen Frame innerhalb eines MovieClips pausieren, was leider nicht klappt, wenn ich innerhalb des MCs sleep(5); einfüge.
Wie bekomme ich das hin, das ich auch innerhalb eines Movieclips pausieren kann?

Zur Info, arbeite mich gerade erst in AS3 ein :-)

Danke für Eure Hilfe!
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 09:53   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
H.G.Seib -> AS3_pausieren (ZIP laden) Stoppen und starten von allen mc's.

nützt dir das was? kommst du mit sowas klar?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 25-11-2011, 10:19   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Moin,

danke dafür! Ich benötige das eigentlich noch etwas einfacher.
Also keine Buttons, sondern nur über die Zeit/Timeline gesehen
den Movieclip pausieren.

Früher habe ich das immer so gemacht:
Code:
stop(); setTimeout ( function() { play();}, 500);
und so konnte ich dann auch innerhalb von verschachtelten MCs pausieren.
Das möchte ich wieder so hinbekommen...
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 10:33   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von tomster5 Beitrag anzeigen
Früher habe ich das immer so gemacht:
Code:
stop(); setTimeout ( function() { play();}, 500);
und so konnte ich dann auch innerhalb von verschachtelten MCs pausieren.
Das möchte ich wieder so hinbekommen...
Ich sehe eigentlich keinen Grund, weshalb das nicht exakt genauso auch in AS3 funktionieren sollte?! Oder bekommst Du irgendwelche Fehler(meldungen)?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 25-11-2011, 10:40   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Moin,

ja ich bekomme eine Fehlermeldung:

Code:
Scene 1, Ebene 'actions', Bild 1, Zeile 1	1180: Aufruf einer möglicherweise undefinierten Methode setTimeout.
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 10:49   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von tomster5 Beitrag anzeigen
ja ich bekomme eine Fehlermeldung:
Code:
Scene 1, Ebene 'actions', Bild 1, Zeile 1	1180: Aufruf einer möglicherweise undefinierten Methode setTimeout.
Diese Fehlermeldung müsste der Code in Deinem ersten Post dann aber auch erzeugen

Ergänze am Anfang einfach diese Zeile:
ActionScript:
  1. import flash.utils.setTimeout;
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 25-11-2011, 11:02   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Moin,

danke, das funktioniert. Bleibt noch das Problem, wenn ich das gleiche Script in dem verschachtelten MC einfüge, in dem ich pausieren will, nicht mehr funktioniert. Wird wohl einfach übersprungen...

Kann ich überhaupt Befehle in verschachtelten MC auf eine "action-Ebene" legen oder werden die immer ignoriert?

DANKE!
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 11:19   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von tomster5 Beitrag anzeigen
Kann ich überhaupt Befehle in verschachtelten MC auf eine "action-Ebene" legen oder werden die immer ignoriert?
Natürlich kann man das. Nur beziehen sich dieses Script dann auf die Zeitleiste in der es liegt. D.h. diese wird dann angehalten oder fortgeführt.

Wenn Du hingegen aus einem verschachtelten Anzeigeobjekt heraus eine andere Zeitleiste steuern willst, musst Du diese auch dediziert ansprechen:
ActionScript:
  1. import flash.display.MovieClip;
  2. import flash.utils.setTimeout;
  3.  
  4. var mc:MovieClip = MovieClip(root); // Hier wird z.B. die Hauptzeitleiste ausgewählt
  5. mc.stop();
  6. setTimeout( function():void { mc.play(); }, 500 );
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (25-11-2011 um 11:20 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 25-11-2011, 12:22   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Moin, danke für die Infos.

Leider ist mir die Herangehensweise mit dieser Methode noch nicht ganz klar.

Hautpzeitleiste pausieren kappt super:

setTimeout( function():void { mc.play(); }, 2000 );

Als Beispiel: Die Animation auf der Haupzeitleiste spielt bis zu einem gewissen Frame und stopt. In einem MovieClip geht dann eine neue Animation weiter. Diese soll loopen und z.B. auf Frame 1, 10 und 20 jeweils pausieren. Wie würde ich das angeben? Ich kann ja nicht in den jeweiligen Frame, wie früher, obiges Script schreiben - das funzt ja nicht mehr.
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 12:43   #10 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von tomster5 Beitrag anzeigen
Als Beispiel: Die Animation auf der Haupzeitleiste spielt bis zu einem gewissen Frame und stopt. In einem MovieClip geht dann eine neue Animation weiter. Diese soll loopen und z.B. auf Frame 1, 10 und 20 jeweils pausieren. Wie würde ich das angeben?
Versteh ich nicht ganz Soll es nun loopen oder stoppen? Und welchen EInfluss hat das auf die Hauptzeitleiste zu tun?

Zitat:
Zitat von tomster5 Beitrag anzeigen
Ich kann ja nicht in den jeweiligen Frame, wie früher, obiges Script schreiben - das funzt ja nicht mehr.
Doch, das Script hier kannst Du beliebig oft in die Zeitleiste schreiben, die Du damit steuern willst:
ActionScript:
  1. stop();
  2. setTimeout ( function():void { play(); }, 500 );
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 25-11-2011, 13:21   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Die MainTimeline stoppt, in dem MC soll es dann loopen.

Habe es dir mal drangehängt. Vielleicht wird es so deutlicher.
Danke für deine Hilfe :-)
Angehängte Dateien
Dateityp: fla pauseAS3.fla (9,5 KB, 4x aufgerufen)
tomster5 ist offline   Mit Zitat antworten
Alt 25-11-2011, 15:07   #12 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
hier eine kleine Hilfsfunktion:

PHP-Code:
function pause(mc:MovieClipduration:int):int
{
    
mc.stop();
    return 
setTimeout(mc.playduration);

PHP-Code:
//hält subMc in mc für 5 Sekunden an, und spielt ihn danach wieder ab
pause(mc.subMc5000); 
wofür der Rückgabewert?
PHP-Code:
var timerID:int pause(mc.subMc5000);
// ...
clearTimeout(timerID);
//mc.subMc wird nach den 5 Sekunden nicht wieder fortgesetzt 
vielleicht gibt es Situationen und Bedingungen, wo der MC nach ablauf der Zeit nicht wieder starten soll, sondern bspw erst wieder nach einem Click, oder sowas
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist gerade online   Mit Zitat antworten
Alt 25-11-2011, 15:38   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Moin,

danke für die Infos. Aber mein Problem ist ja, das ich innerhalb des verschachtelten MCs auf der Timeline flexibel pausieren möchte.

Hauptzeitleiste --> MC (Timeline pausieren auf z.B. Frame 1 und 10 und dann jeweils die MC-Animation im loop)

Siehe meine Fla, vielleicht etwas verständlicher.

Das Script oben, kann ich das irgenwie nicht richtig nutzen.

Danke im Voraus!
tomster5 ist offline   Mit Zitat antworten
Alt 26-11-2011, 14:19   #14 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 166
Keiner eine Idee, wie ich das Problem in meiner angehängeten Fla lösen kann?
tomster5 ist offline   Mit Zitat antworten
Alt 26-11-2011, 21:03   #15 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Ich bin mir nicht sicher, ob ich Dich richtig verstehe. Aber wenn Du einfach nur die Hauptzeitleiste anhalten willst und die UnterMCs weiterloopen sollen, musst Du doch einfach nur die Hauptzeitleiste pausieren?! Die UnterMCs sollten doch von alleine loopen?!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Button mit verschachteltem MC joeydee ActionScript 3 2 03-03-2009 16:40
globale koordinate von verschachteltem mc herrNilsson Flash Einsteiger 7 19-12-2007 16:17
popup aus verschachteltem mc ottine Flash MX 2004 2 15-07-2007 17:04
gotoandplay im verschachteltem MC gajusverus Flash Einsteiger 7 25-06-2007 13:23
Kleines Problem mit verschachteltem MC Digger2k3 ActionScript 1 2 08-06-2006 15:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele