tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
725
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kamphi kamphi ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    hallo....

    mach gerade einen anfahrtsplan bei dem es drei verschiedenen zooms gibt,und die übergänge durch shape-tweening animiert sind...bei meiner zoom-in-funktion haut alles super hin,nur bei zoom-out hätt ich gerne genau das umgekehrte...
    also dass sich das movie rückwärts abspielt anstatt vorwärts...

    gehts sowas?

    gruss
    kamphi
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    das Rückwärtsabspielen von Zeitleisten ist kein Problem:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    function playBackwards(timeline, to, loop) {
        if (timeline == undefined) timeline = this;
        var from = timeline._currentframe;
        if (to == undefined || !(to > 0)) to = 1;
        if (to > from) to = from;
        if (loop == undefined) loop = false;
        timeline.playBackwardsHelper.removeMovieClip();
        var helper = timeline.createEmptyMovieClip("playBackwardsHelper", timeline.getNextHighestDepth());
        helper.onEnterFrame = function() {
            if (timeline._currentframe > to) {
                timeline.prevFrame();
            } else {
                if (loop) {
                    timeline.gotoAndStop(from);
                } else {
                    delete this.onEnterFrame;
                    this.removeMovieClip();
                }
            }
        }
    }
    Aufruf z.B.:
    Code :
    1
    2
    3
    4
    5
    
    playBackwards(DeinMovieClip); // Spielt "DeinMovieClip" bis zum ersten Frame rückwärts ab
     
    playBackwards(DeinMovieClip, 10, true); // Spielt "DeinMovieClip" bis zu Frame 10 rückwärts ab und springt dann wieder zum Frame, ab dem die Methode aufgerufen wurde
     
    playBackwards(); // Spielt den aktuellen MovieClip rückwärts bis zum ersten Frame ab

    Gruß
    .
    Geändert von Tobias Menzel (22.07.07 um 18:10 Uhr) Grund: Flüchtigkeitsfehler korrigiert
     

  3. #3
    Registriert seit
    Dec 2006
    Beiträge
    384
    hab dieses script auch gerade noch verwendet.
    Kann das sein das du dort eine Klammer zu viel reingemacht hast

    PHP-Code:
    function playBackwards(timelinetoloop) {
        if (
    timeline == undefinedtimeline this;
        var 
    from timeline._currentframe;
        if (
    to == undefined || !(to 0)) to 1;
        if (
    to fromto from;
        if (
    loop == undefinedloop 1;
        
    timeline.playBackwardsHelper.removeMovieClip();
        var 
    helper timeline.createEmptyMovieClip("playBackwardsHelper"timeline.getNextHighestDepth());
        
    helper.onEnterFrame = function() {
            if (
    timeline._currentframe to) {
                
    timeline.prevFrame();
            } else {
                if (
    loop) {
                    
    timeline.gotoAndStop(from);
                } else {
                    
    delete this.onEnterFrame;
                    
    this.removeMovieClip();
                }
            }
        }

    also so if (to > from) to = from; nicht so if (to > from) to = from);
    kann das sein?
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Du hast recht - danke für die Info (Klammer entfernt).

    Gruß
    .
     

  5. #5
    Registriert seit
    Jan 2002
    Ort
    Stuttgart
    Beiträge
    1.911
    Feine "Rundumsorglos"-Funktion ... die muss ich mir merken.
    Sollte
    PHP-Code:
    if (loop == undefinedloop 1
    aber nicht eher den Wert 0 haben? Denn wenn man nichts angibt, sollte ja vermutlich auch nicht geloopt werden.
    Oder eben immer alle Parameter beim Funktionsaufruf definieren.

    Grüße
    Rena
     
    Kein Support via PN oder Mail ... dafür ist ja das Forum da. :)

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi Rena,

    tatsächlich sollte der Standardwert "false" eingesetzt werden - das kommt davon, wenn man "mal eben" eine Funktion eintippt, ohne sie zu testen.

    Gruß

    P.S.: Die Funktion lässt sich noch erweitern, so dass z.B. Auch über den ersten Frame hinaus abgespielt werden kann (z.B. von Frame 30 über 1 und den letzten zu Frame 40). Sinn würde auch die Anlage als Prototype der MovieClip-Klasse machen - sobald ich dazu komme, poste ich ein Update.
     

  7. #7
    Registriert seit
    Jan 2002
    Ort
    Stuttgart
    Beiträge
    1.911
    Zitat Zitat von Tobias Menzel Beitrag anzeigen
    ...das kommt davon, wenn man "mal eben" eine Funktion eintippt, ohne sie zu testen.
    Respekt ... und irgendwie ging ich fast davon aus.

    Gruß
    Rena
    Geändert von Rena Hermann (23.07.07 um 00:49 Uhr)
     
    Kein Support via PN oder Mail ... dafür ist ja das Forum da. :)

  8. #8
    kamphi kamphi ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    hi
    erstmals danke für die antworten...
    doch check ichs noch nicht so ganz...auf meiner seite hab ich ein movieclip raufgetan, welches die einzelnen zooms des stadtplanes und dessen übergänge beinhaltet.beim drücken auf meinen "zoom in" button" funktioniert alles wunderbar,da ich die zeitleiste von einem label bis zum nächsten einfach abspielen lasse...
    hab mir in meinem 1.frame im movieclip (actionslayer)diese rückwärtslauffunktion definiert,also zuerst gibt es ein stop(); und dann hab ich mir den code reinkopiert der das playBackwads definiert...
    sobald ich aber auf einen "zoom out" drücke funktioniert es nicht...es tut sich eigentlich gar nichts...

    hab dem button folgende action zugewiesen
    on(release){
    playBackwards("mein frame label",true);
    };

    ist wahrscheinlich ein dummer anfängerfehler,versteh aber nicht wo der fehler liegt...

    gruss
    kamphi
     

  9. #9
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    der erste Parameter der Funktion erwartet kein Frame-Label, sondern eine Referenz auf den MovieClip, der abgespielt werden soll.

    Gruß
    .
     

  10. #10
    kamphi kamphi ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    hi...
    ok,....muss das ganze also anders strukturieren...also mehrere movieclips machen,und diese mit dem instance-name steuern...oder...
    kann ich auch eine framenummer als referenz angeben?

    gruss
    kamphi
     

  11. #11
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    eine Framenummer ist keine Referenz - wozu willst Du auch einen Frame angeben?

    Wenn die Zeitleiste, auf der sich der Code befindet, rückwärts abgespielt werden soll, kannst Du als Parameter den Wert this, undefined oder _parent übergeben - je nachdem, ob es sich bei dem Button mit der onRelease-Methode um eine Schaltfläche oder einen MovieClip handelt.

    Wenn Du ganz sicher gehen willst, poste einfach Deine .fla - dann können wir den Code für Dich anpassen.

    Gruß
    .
     

  12. #12
    kamphi kamphi ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    hi..
    hab jetzt das alles anders gemacht...wollt den frame eingeben, weil sich bei mir die einzelnen übergange alle im selben movieclip befinden,und ich mit hilfe der buttons durch die zeitleiste mit gotoAndPlay von framelabel zu framelabel die einzelnen tweenings abgespielt habe..

    auf jeden fall klappt das ganze jetzt mit dem code....tx

    gruss
    kamphi
     

Ähnliche Themen

  1. Movie clip nach flv abspielen
    Von ponda im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 18.03.08, 12:24
  2. Movie Rückwärts abspielen hilfe
    Von SpAwNaLeX im Forum Flash Plattform
    Antworten: 13
    Letzter Beitrag: 12.09.07, 08:06
  3. Zufällig movie abspielen.
    Von Ardaric im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 11.07.06, 12:15
  4. Movie clip als Button oder umgekehrt ?
    Von babeuf im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 19.05.05, 10:32
  5. Movie Clips nacheinander abspielen
    Von MTMonline im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 02.09.04, 21:02