Antworten auf deine Fragen:
Neues Thema erstellen

MC stoppen und Rückwärts-Schleife unterbrechen

Dimitrj

Nicht mehr ganz neu hier

[Gelöst] MC stoppen und Rückwärts-Schleife unterbrechen

Hi Leute

Tut mir Leid, ist ne riesen Newbie-Frage, kenne mich in Flash noch kaum aus.

Ich habe folgendes AS3-Script, das mit bei Mouseover einen Tween abspielt und ihn bei Mouseout wieder rückwärts laufen lässt bis zum Startpunkt.

PHP:
stop();
But1.stop();
But1.addEventListener(MouseEvent.CLICK, rules_handler);
But1.addEventListener(MouseEvent.MOUSE_OVER, rules_handler);
But1.addEventListener(MouseEvent.MOUSE_OUT, rules_handler);

function rules_handler(e) {

    if (e.type==MouseEvent.CLICK) { 
        this.gotoAndStop(2); 
    }
    else if (e.type==MouseEvent.MOUSE_OVER) { 
        But1.play(); 
    }
    else if (e.type==MouseEvent.MOUSE_OUT) { 
        But1.addEventListener(Event.ENTER_FRAME, goBack);
    }
}

function goBack(e:Event):void {
   
    if (e.target.currentFrame > 1) {
        e.target.prevFrame();
        
    } else {
        e.target.removeEventListener(Event.ENTER_FRAME, goBack);
    }
  
}
Meine Probleme sind folgende:
1. Das Abspielen beim Mouseover muss bei Frame 10 anhalten. Ich weiss nicht, wie ich das innerhalb des Events prüfen und unterbrechen kann.
2. Die Rückwärts-Funktion kann nicht durch einen Mouseover unterbrochen werden, bis sie auf Frame 1 ist. Der Tween sollte jedoch sobald man wieder Mouseovert, auch wenn der Tween am rückwärts laufen ist, vorwärts ablaufen.

Jenste if-Varianten etc. habe ich nciht zum laufen gebracht - ich hoffe es gibt eine kompakte Lösung für mein Problem.

Danke im Voraus

Dimitrj
 
Zuletzt bearbeitet:

Dimitrj

Nicht mehr ganz neu hier

AW: MC stoppen und Rückwärts-Schleife unterbrechen

Problem 1 ist noch immer ungelöst.
Problem 2 so gelöst (danke an RustyCake und geo von flashforum.de):

PHP:
    function rules_handler(e) {
     
        if (e.type==MouseEvent.CLICK) {
            this.gotoAndStop(2);
        }
        else if (e.type==MouseEvent.MOUSE_OVER) {
            But1.removeEventListener(Event.ENTER_FRAME, goBack);
            But1.play();
        }
        else if (e.type==MouseEvent.MOUSE_OUT) {
            But1.addEventListener(Event.ENTER_FRAME, goBack);
        }
    }
 

Dimitrj

Nicht mehr ganz neu hier

AW: MC stoppen und Rückwärts-Schleife unterbrechen

Problem gelöst!
Ich hab' jetzt den Vorwärtsgang einfach spiegelbildlich zum Rückwärtsgang angelegt :)
Ich weiss nicht, ob das wahnsinnig elegant ist, aber es tut seinen Zweck. Kritik und Verbesserungen sind natürlich immernoch herzlich willkommen.
Im folgenden der funktionierende Code:

Code:
stop();
But1.stop();
But1.addEventListener(MouseEvent.CLICK, rules_handler);
But1.addEventListener(MouseEvent.MOUSE_OVER, rules_handler);
But1.addEventListener(MouseEvent.MOUSE_OUT, rules_handler);

function rules_handler(e) {

    if (e.type==MouseEvent.CLICK) { 
        this.gotoAndStop(2); 
    }
    else if (e.type==MouseEvent.MOUSE_OVER) {
        But1.removeEventListener(Event.ENTER_FRAME, goBack);
        But1.addEventListener(Event.ENTER_FRAME, goForth);        
    }
    else if (e.type==MouseEvent.MOUSE_OUT) {
        But1.removeEventListener(Event.ENTER_FRAME, goForth);
        But1.addEventListener(Event.ENTER_FRAME, goBack);
    }
}

function goBack(e:Event):void {
    if (e.target.currentFrame > 1) {
        e.target.prevFrame();
    } else {
        e.target.removeEventListener(Event.ENTER_FRAME, goBack);
    } 
}

function goForth(e:Event):void {
    if (e.target.currentFrame < 24) {
        e.target.nextFrame();
    } else {
        e.target.removeEventListener(Event.ENTER_FRAME, goForth);
    } 
}
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.485
Neuestes Mitglied
derThomas
Oben