Flashhilfe.de - Flash Community

Mehrere SWF laden und nacheinander abspielen [Flash 11]

 


AntwortenRegistrieren Seite1  

Yuna#1
Benutzerbild von Yuna
Beiträge: 0
Registriert: Nov 2019

29.11.2019, 21:22

Guten Abend

Einen Thread zu meinem Anliegen gibt es bereits, allerdings ist es ein älterer und ohne Antwort. Darum verusche ich es nochmals.

Wie ist es möglich, mehrere SWF zu laden und nacheinander abzuspielen?

Dabei stelle ich mir den Ablauf so vor:
- Lade SWF 1+2+3+...
- Wenn geladen, starte automatisch oder nach Eingabe die SWF 1
- wenn SWF 1 am Ende ist, starte SWF 2
- etc.

Dabei ist es aber wichtig, dass wirklich exakt die Framerate eingehalten wird (alle SWF sind natürlich gleich).

Vielen Dank für eure Hilfe.

Grüsse
Yuna
Werbung
Beiträge: 0
Registriert: Feb 2016


Indy_Crossover#2
Benutzerbild von Indy_Crossover
Beiträge: 24
Wohnort: Emmendingen
Registriert: Oct 2018

30.11.2019, 10:29

Ich gebe mal eine Kurzzusammenfassung:

1. zuerst brauchst du eine Methode, um von einem swf aus andere zu laden.

var request:URLRequest = new URLRequest("http://www.url.de/Pfad/Film.swf");
var Filmlader:Loader = new Loader();
Filmlader.contentLoaderInfo.addEventListener(Event.COMPLETE, LadenBeendet);
// Filmlader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, NichtGefunden);
Filmlader.load(request);
addChild(Filmlader);

2. Eine Funktion, die reagiert, wenn ein Teilfilm geladen ist

function LadenBeendet(evt:Event) {
  var Film:Movie = (evt.currentTarget as MovieClip);
  Film.play();   // Eventuell unnötig, wenn der Film sich selbst startet?
}

3. Der Film kriegt einen Rückbezug aufs Hauptprogramm
Das kann entweder im Film selbst geschehen:

var ParentLoader:Loader = loaderInfo.loader;
var Parent:MovieClip = null;
if (ParentLoader!=null)
  Parent = (ParentLoader.parent as MovieClip);

oder in der Funktion LadenBeendet von 2. künstlich reingeschrieben werden:

function LadenBeendet(evt:Event) {
  (...)
  Film["Parent"] = this; //weil die Funktion im Hauptprogramm steht
}

4. Schließlich kommt noch eine Funktion ins Hauptprogramm, um nach Ablauf des Films den nächten zu laden:

function LoadNext(AlterFilm:MovieClip) {
  AlterFilm.ParentLoader.unload();
  // weiter wie unter 1. mit dem nächsten Film
}

5. Fehlt nur noch ein Event, um LoadNext unter 4. auszulösen.
Eventuell kann das in das letzte Frame jedes Films eingebaut werden in der Form:

Parent.LoadNext(this);

Ich hoffe, dass dieser Ansatz zur richtigen Lösung führt.

   Indy
Yuna2#3
Benutzerbild von Yuna2
Beiträge: 1
Registriert: Dec 2019

03.12.2019, 18:48

Hallo Indy

Erstmal herzlichen Dank für deine rasche und ausführliche Rückmeldung! Das weiss ich sehr zu schätzen!
Beim Forum funktionert die "Passwort zurücksetzen" Funktion aktuell nicht, deswegen kann ich dir erst jetzt antworten. Musste extra einen neuen Account anlegen! -.-


Ich bin leider nicht so fit in ActionScript und verstehe nicht alle Zeile so ohne weiteres. Deswegen habe ich einfach mal versucht folgende Testumgebung zu machen
Test.swf // Mutter SWF, mit dem Code, welche definiert wann gestartet wird
Test1.swf // 1. Film/Animation
Test2.swf // 2. Film/Animation
Test3.swf // 3. Film Animation


Problem 1
"var Film:Movie = (evt.currentTarget as MovieClip);"
funktionert so nicht, gibt ein Fehler.
hab es umgeschrieben auf "var Film:MocieClip..." dann gehts

Problem 2
Wenn der Film (Test1) sich selbst startet, tut er das nach dem laden (in Test) automatisch. Darf er aber nicht. Sondern erst wenn der Befehl zum starten gegeben wird.
Film.stop(); funktioniert da leider auch nicht

Problem 3
Steht im Film am Anfang ein stop(); drin, kann ich ihn nach dem laden z.B. nicht starten mit "Film.gotoAndPlay(2);". Warum?

Problem 4
Wenn kein Stop im Film ist, dann wiederholt sich der Film immer und immer wieder. Wie bekomm ich ihn beim letzten Frame zum stoppen?
Im Film selbst am Ende ein "stop()" setzen würde gehen, aber ist eigentlich nicht das Ziel.

Problem 5
Film 2 darf nicht erst laden, wenn Film 1 beendet ist. Es sollen alle Filme zuerst laden, dann nacheinander abspielen (ohne Zeitverzögerung!)


Vielen Probleme für einen Newbie :D
Ich versuche es weiter zum Laufen zu brignen und werde das Ergebnis sicher posten!


Grüsse
Yuna
Geändert von Yuna2 am 03.12.19 um 18:49 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Online-Spiel Crossover [Flash 11] 05.06.2019 - Indy_Crossover
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de