Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-04-2007, 08:31   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Funktion erst abspielen, wenn andere Funktion zu ende ist.

Hallo zusammen,

habe folgendes Problem. Ich möchte gerne eine Funktion erst abspielen, wenn eine andere Funktion abgelaufen ist. So wie es bei den Penner Tweens möglich ist, indem man eine Callback Funktion angibt. Könnt ihr mir einen Tip geben, mit welchem Befehl ich das hinbekommen könnte. Schon mal danke im voraus.
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 08:47   #2 (permalink)
Standard User
 
Registriert seit: May 2006
Ort: Dresden
Beiträge: 230
hmm, kannst du denn nicht einfach den Funktionsaufruf ans Ende der ersten Funktion schreiben?
Wahlweise könntest du ja z.B. in der ersten Funktion noch 'nen boolschen Wert setzen und den als Bedingung für die zweite Funktion nehmen...
codontooom ist offline   Mit Zitat antworten
Alt 12-04-2007, 08:54   #3 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
oder mit der EventDispatcher Klasse
eigene Events erstellen!

gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 09:34   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Also, ich will vom Prinzip sowas, wie auf dieser Seite http://www.smscrew.com/ erreichen. Eine Animation baut sich bei Buttondruck auf und wieder ab, wenn ein anderer Button betätigt wird. Und wenn die erste Animation sich abgebaut hat, dann soll die 2 Animation sich aufbauen. Wie könnte ich nun Flash befehlen etwas auszuführen, wenn ein MC zu ende gelaufen ist?
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 09:49   #5 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
function switchContent (from Objectto Object) {
    
from.moveOut(to.moveIn);
}

//Im anderen ContentObjekt
function moveOut (toFunc : Function) {
   
//bla bli blupp animationen
   
toFunc();
}

switchContent(Content1Content2); 
gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 10:42   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Dank dir. Nur versteh ich dein Script leider nur zur Hälfte. Ist "from: Object" das selbe wie "Content1" ?
Ist jetzt etwas viel verlangt, aber könntest du mir vielleicht das Script für 2 MCs (a_mc und b_mc) anpassen? Also b_mc soll erst ablaufen, wenn a_mc beendet ist.
Vielen Dank im voraus.
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 10:52   #7 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
so mal grob und auf die schnelle :
PHP-Code:
_root.NextMove mc1;
        
        function 
switchContent (from MovieClipto MovieClip) {
            
_root.NextMove to;
            
from.MoveOut();
        }
        
        
mc1.MoveOut = function () {
            
//Hier die raus Animation
            //[...]
            
            //Am ende dann die MoveIn Funktion des nächsten MCs.
            
            
_root.NextMove.MoveIn();
        }
        
        
mc2.MoveOut = function () {
            
//Hier die raus Animation
            //[...]
            
            //Am ende dann die MoveIn Funktion des nächsten MCs.
            
            
_root.NextMove.MoveIn();
        }
        
        
mc1.MoveIn = function () {
            
//Hier die rein Animation
        
}
        
        
mc2.MoveIn = function () {
            
//Hier die rein Animation
        

dann die switch content funktion auf ein Release Event oder so drauflegen, als Params die MCs angeben!
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org

Geändert von b.asile (12-04-2007 um 10:53 Uhr)
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 11:02   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Super. Vielen, vielen Dank.
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 13:56   #9 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Ich muß noch mal nerven. Hab jetzt mal das Script an einem einfachen Beispiel ausprobiert. Aber es will nicht funktionieren. Die Animationen laufen nicht nacheinander, sondern gleichzeitig ab. Hab die Datei mal angehängt.
Angehängte Dateien
Dateityp: rar switchContent.rar (5,4 KB, 3x aufgerufen)
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:02   #10 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Ich hab leider keine FLash IDE und kann keine Fla's öffnen!

Verwendest du Fuse?
da musst du nur das Callback, bzw. den OnComplete-Listener auf die FUnktion umleiten

gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:07   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Ne, hab in dem Beispiel kein Fuse verwendet. Hier mal das Script. Das einzige was ich hinzugefügt habe, sind 2 Buttons, die die Funktion aufrufen.
PHP-Code:
_root.NextMove mc1;
        
        function 
switchContent (from MovieClipto MovieClip) {
            
_root.NextMove to;
            
from.MoveOut();
        }
        
        
mc1.MoveOut = function () {
            
//Hier die raus Animation
            //[...]
            
mc1.gotoAndPlay("raus");
            
            

            
            
//Am ende dann die MoveIn Funktion des nächsten MCs.
            
            
_root.NextMove.MoveIn();
        }
        
        
mc2.MoveOut = function () {
            
//Hier die raus Animation
            //[...]
            
mc2.gotoAndPlay("raus");
            
            
            
//Am ende dann die MoveIn Funktion des nächsten MCs.
            
            
_root.NextMove.MoveIn();
        }
        
        
mc1.MoveIn = function () {
            
mc1.gotoAndPlay("rein");
            
//Hier die rein Animation
        
}
        
        
mc2.MoveIn = function () {
            
mc2.gotoAndPlay("rein");
            
//Hier die rein Animation
        
}  
        
//----------------------------------------------------\\        
btn.onRelease = function  () {
            
switchContent (mc1mc2);
            
}
btn2.onRelease = function  () {
            
switchContent (mc2mc1);
            

fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:07   #12 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
mc1.MoveOut = function () {
        var 
Fuse = new Fuse();
        
f.push(blablablablabla);
        
f.start();
        
f.onComplete = function() { 
            
_root.NextMove.MoveIn();
        }
        } 
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:19   #13 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
achso, ja das problem ist das die beiden befehle direkt hintereinander ausgeführt werden und flash nicht wartet bis das play zu ende ist

schreib mal auf den letzten frame deines animations mc's:

PHP-Code:
_root.NextMove.MoveIn(); 
gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:30   #14 (permalink)
Neuer User
 
Registriert seit: Jan 2006
Beiträge: 54
Jetzt spielt Flash mir die Animationen zweimal ab. Einmal gleichzeitig und einmal (richtig) am Ende der anderen Animation.
fubert ist offline   Mit Zitat antworten
Alt 12-04-2007, 14:34   #15 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
 mc2.MoveOut = function () {
            
//Hier die raus Animation
            //[...]
            
mc2.gotoAndPlay("raus");
            
            
            
//Am ende dann die MoveIn Funktion des nächsten MCs.
            
****************************
            **  
_root.NextMove.MoveIn(); **
            ****************************
        } 
^^die zeile musst du ja auch rausnehmen, hatte ich das oben nicht einleuchtend geschrieben ?
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile 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 23:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele