Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-07-2006, 21:44   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
extern MC nacheinander laden

Hi.

ich hab verschiedene Rubriken in denen ich jeweils eine intro und eine outro animation habe. Wenn ich nun innerhalb einer Rubrik zu einer anderen springe, soll der outro film und dann der Introfilm der neuen Rubrik gespielt werden.
Wie gehe ich da am geschicktesten vor? lade ich den aktuellen outrofilm, dann nach currentframe abfragen und danach den neuen introfilm?

lade outro
wenn fertig
lade intro

so etwa?

sorry, aber kann AS nicht so einfach runter tippen. geht dann aber irgendwie, wenn ich erstmal weiss, was ich will.


danke!
gerrison ist offline   Mit Zitat antworten
Alt 09-07-2006, 22:16   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Da gibt es mehrere Möglichkeiten: die einfachste ist, auf dem letzten Frame des outro-Films den nächsten intro-Film mit loadMovie nachzuladen.

Die etwas anspruchsvollere Version lässt einen kontinuierlichen onEnterFrame-Event oder eine setInterval-Funktion überprüfen, ob der aktuell laufende Film auf dem letzten Frame angekommen ist, und, wenn das der Fall ist, wird der Folgefilm nachgeladen.
  Mit Zitat antworten
Alt 09-07-2006, 22:33   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
Danke, aber mein Problem ist, ich kenne ja die reihenfolge nicht. also wenn ich von rubrik x auf y springe soll ja x_outro und dann y_intro gespielt werden, aber wenn ich auf z springe, soll ja x dann z gespielt werden. also ich kann nichts ans ende der filme setzen, da ich nicht weiss was dann kommt... ist klar was ich meine?
gerrison ist offline   Mit Zitat antworten
Alt 09-07-2006, 23:10   #4 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
dann nimm holgers zweite version.

auf den letzten frame setzt du ne variable.

PHP-Code:
x_ende "angekommen"
dann ne enterFrame abfrage.

PHP-Code:
einMC.onEnterFrame = function() {
if (
x_ende == "angekommen") {
loadMovie(dateiziel);
};
}; 
verstanden?
kurthurtig ist offline   Mit Zitat antworten
Alt 09-07-2006, 23:24   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
joaa. denk schon. danke. klingt gut. aber ich mach das ja per Maus.
Kann ich den if Befehl auch auf ein Mouse event legen und er wartet dann, bis x_ende = "angekommen" ist?
ausserdem muss ich dann doch x_ende wieder auf 0 setzen oder? dass könnte ich mit jedem intro film machen.

danke..
gerrison ist offline   Mit Zitat antworten
Alt 10-07-2006, 00:22   #6 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
Zitat:
Zitat von gerrison
Kann ich den if Befehl auch auf ein Mouse event legen und er wartet dann, bis x_ende = "angekommen" ist?
du hast glaube ich onEnterFrame nicht ganz verstanden. guck dir am besten die hilfe dazu mal an.

um es auf ein mouseEvent zu legen machst du einfach folgendes:

PHP-Code:
deinbutton.onRelease = function() {
einmc.onEnterFrame = function() {
if(
x_ende == "angekommen") {
loadMovie(z);
}
}

Zitat:
Zitat von gerrison
ausserdem muss ich dann doch x_ende wieder auf 0 setzen oder? dass könnte ich mit jedem intro film machen.
nein musst du nicht, da der film ja (wahrscheinlich) entladen wird. wenn er das nächste mal neu geladen wird ist alles wieder beim alten.
kurthurtig ist offline   Mit Zitat antworten
Alt 10-07-2006, 05:30   #7 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Dann musst du natürlich auch noch beachten deine ganzen Zwischensequenzen schon alle geladen zu haben.
Wenn diese nicht allzu happig in der Datengröße sind dann würde ich direkt mit in den ersten preloader nehmen(hoffe du hast einen).
Damit ersparst du dir während der Sequenzen einen Abfrage-Marathon ob diese schon geladen sind.

Will dich jetzt nicht verwirren, nur darauf solltest du halt achten.
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 10-07-2006, 19:14   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
Vielen dank für die Tipps. Ich habs mal probiert. Die Hilfe wird immer schlechter finde ich, hat aber bestimmt alles sein Gutes.

OnEnterFrame versteh ich als erstes script, wenn ein frame entered wird.

Also hier was ich gebaut hab:

leerer MC mit Namen einmc
2 swfs, der outro.swf hat auf dem letzen frame outro = "ende";
Hauptfilm:
PHP-Code:
deinbutton.onRelease = function() {
einmc.loadMovie("outro.swf",1); 
einmc.onEnterFrame = function() {
if(
outro == "ende") {
einmc.loadMovie("intro.swf",1); 
}
}


Erster Film wird geladen, aber der 2te nicht.
Kann ich mir das onEnterFrame nicht sparen, gibts nicht sowas wie MC=busy und wenn fertig nimm nächste?


Zu dem preloaden. Ne, mach ich nicht.
Ich lager die ja extra aus, das sind schweine viele kurze filme...
hmm. Oder soll ich die Filme anders machen und intro - outro als ein Film lassen und den Film in der Mitte anhalten, dann zu ende laufen lassen...

Vielen dank erst mal für die schnelle Hilfe!
gerrison ist offline   Mit Zitat antworten
Alt 10-07-2006, 19:21   #9 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
nimm den onEnterFrame mal aus dem onRelease raus.

PHP-Code:
deinbutton.onRelease = function() {
einmc.loadMovie("outro.swf",1); 
}
einmc.onEnterFrame = function() {
if(
outro == "ende") {
einmc.loadMovie("intro.swf",1); 
}

aber eigentlich müsste es auch ander funktionieren.
hmmmmm....

mit syntax hab ichs auch nich so.
unterschied zwischen loadMovie und loadMovieNum beachten!

oder dein pfad ist falsch. probier mal den zweiten loadMovie ohne einmc davor. weil er ja schon in dem mc ist, um den onEnterFrame zu machen.

um solche fehler zu finden arbeitet man am besten mit trace("yes"); und arbeitet sich schritt für schritt durch...

Geändert von kurthurtig (10-07-2006 um 19:24 Uhr)
kurthurtig ist offline   Mit Zitat antworten
Alt 10-07-2006, 23:23   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Na ja, wenn du sowieso schon einen onEnterFrame-Event einsetzt, kannst du natürlich auch direkt das Ende des Filmes abfragen:
PHP-Code:
deinbutton.onRelease = function() {
   
_level0.einmc.loadMovie("outro.swf"); 
}
_level0.onEnterFrame = function() {
   if(
_level0.einmc._currentframe == _level0.einmc._totalframes) {//wenn der aktuelle Frame der letzte Frame im MC ist, dann...
      
_level0.einmc.loadMovie("intro.swf"); 
      
delete this.onEnterFrame;//Eventlöschen nicht vergessen
   
}

  Mit Zitat antworten
Alt 10-07-2006, 23:54   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
Sehr Cool. danke Jungs, funzt. Bisschen Unsauber, also manchmal springt der falsche Film zum Anfang anstatt den neuen zu laden. Aber ich habs auch nur mal auf die schnelle getestet...

@kurthurtig - So wie du es zeigst, hatte ich auch gedacht, hab aber ne klammer falsch gehabt. ich machs jetzt mit currentframe.
Angenehmer, da ich dann nicht in alle externe SWFs etwas schreiben muss.
Eins noch, sind deine schulter, Knie und Roller kaputt oder was?


Also vielen Dank!

Ich probier das jetzt mal mit mehren Filmen und muss erst mal checken, was ich da eigentlich mache =)
gerrison ist offline   Mit Zitat antworten
Alt 11-07-2006, 00:04   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
also manchmal springt der falsche Film zum Anfang anstatt den neuen zu laden
Dann setz vor den loadMovie noch einen _level0.einmc.stop();
  Mit Zitat antworten
Alt 11-07-2006, 00:51   #13 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 15
danke.


so sieht das jetzt aus, damit nicht von vornherein der film läuft:

PHP-Code:
 deinbutton.onRelease = function() {
_level0.einmc.stop();
    
_level0.einmc.loadMovie("outro.swf");
    
_level0.onEnterFrame = function() {
    if (
_level0.einmc._currentframe == _level0.einmc._totalframes) {
        
_level0.einmc.loadMovie("intro.swf");
        
delete this.onEnterFrame;
    }
    };
}; 
das stop(); bringts glaub ich nicht wirklich, bin mir aber nicht sicher. Sieht schon ganz Gut aus. Jetzt probier ich mal, ob ich den 2ten Film per currentFrame noch Unloaden kann. Aber ist schon cool so. danke noch mals...
gerrison ist offline   Mit Zitat antworten
Alt 11-07-2006, 08:21   #14 (permalink)
thnkGodImAtheist
 
Benutzerbild von kurthurtig
 
Registriert seit: Nov 2003
Ort: kölle am rhing
Beiträge: 1.853
für die ultimative lösung frag holger

Zitat:
Eins noch, sind deine schulter, Knie und Roller kaputt oder was?
fast. nicht knie, sondern hüfte... hab mich lang gemacht. aber nicht mehr lang und ich kann mein avatar wieder austauschen

edit: @holger: ist monopolbildung eigentlich nicht moralisch verboten? naja... du kämpfst ja noch mit der frager...

Geändert von kurthurtig (11-07-2006 um 08:22 Uhr)
kurthurtig ist offline   Mit Zitat antworten
Alt 11-07-2006, 11:09   #15 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
für die ultimative lösung frag holger
  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 01:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele