SWF in Flash-Movie einbinden.

BitMan

Erfahrenes Mitglied
Hallo Leute,

Flash ist neu für mich, denn ich bewege mich normalerweise im Bereich C/c++ und C#!

Aber ich mache ein paar brauchbare Fortschritte.

Ziel ist erst mal der Neu-Aufbau meiner privaten Webseite, bin Hobby-Fotograf und wollte mal was peppigeres machen.

Also Webseite soll nachher ein einziger Flash-Container sein, der andere Flash Container nachlädt.

Nun mein Problem:
Ich habe für den Titel ein Banner als SWF erstellt, das sich aus einem untergeordneten Verzeichnis eine Textdatei ansieht, dort stehen die Namen der JPG Dateien, die als Grafik von einem SWF einzeln geladen werden.

Nun möchte ich dieses SWF in einen anderen Flash Movie laden, aber wenn ich das tue, kommt nix. Woran kann das liegen.

Habe mein aktuelles Projekt mal geRARt u9nd hier rein gestellt:
http://www.dirk-moll.de/FlashSeite.rar

Wäre coll wenn ihr mir ein wenig unter die arme greift, wird sicher nur eine Kleinigkeit sein, die FLASH spezifisch ist.

Danke und Salü
BitMan
 
Hi,

anscheinend hast Du versucht, die "titelbanner.swf" in die "test.fla" zu importieren. Dies schlägt fehl, da beim Import von SWF-Filmen nur grafische Inhalte auf der Hauptzeitleiste (kein Code, keine MovieClip-Zeitleisten) als Einzelbilder importiert werden.

lade das Banner doch einfach extern nach:
Code:
// in Frame 1 der test.fla:

var banner = this.createEmptyMovieClip("banner", 1);

banner.loadMovie("titelbanner.swf");

Gruß
.
 
Danke, das funktioniert.

Dachte mir schon das es irgendwas in der Richtung sein musste, aber eher das ich das TitelBanner.swf anders machen muss. Das der Aufruf nur für Grafik gilt wäre mir nicht in den SInn gekommen.

Wie beeinflusse ich die Größe geladener JPG's? Kann ich die Eigenschaften auslesen und entsprechend drauf reagieren? Oder muss ich die zwingend in einem passenden Format ablegen?

Grüße
BitMan
 
Hi,

anscheinend hast Du versucht, die "titelbanner.swf" in die "test.fla" zu importieren. Dies schlägt fehl, da beim Import von SWF-Filmen nur grafische Inhalte auf der Hauptzeitleiste (kein Code, keine MovieClip-Zeitleisten) als Einzelbilder importiert werden.

lade das Banner doch einfach extern nach:
Code:
// in Frame 1 der test.fla:

var banner = this.createEmptyMovieClip("banner", 1);

banner.loadMovie("titelbanner.swf");

Gruß
.
So, nachdem das so gut funktioniert, wollte ich ein zweites Banner einsetzen, einen TypeWriter Effekt, der Buchstabe für Buchstabe eine Textzeilen aus externer Datei darstellt, ... TypeWriter habe ich hinbekommen, aber wenn ich den zusätzlich einbinde, dann seh ich das Titelbanner nicht.

Code:
var TitelBanner = this.createEmptyMovieClip("TitelBanner", 1);
TitelBanner.loadMovie("TitelBanner.swf");
TitelBanner._x=0;
TitelBanner._y=0;

var FussBanner = this.createEmptyMovieClip("FussBanner", 1);
FussBanner.loadMovie("FussBanner.swf");
FussBanner._x=0;
FussBanner._y=250;

Sicher auch hier ein Denkfehler. Überschreibe ich mir das erste Banner mit dem Neuen?

LG BitMan
 
Hi,

Überschreibe ich mir das erste Banner mit dem Neuen?
Ja: schau Dir mal die Methode "createEmptyMovieClip" in der Referenz an (besonders die Bedeutung des zweiten Parameters).

Du musst dem zweiten Container eine andere Tiefenebene geben.

Gruß
.
 
ja, das stimmt.
die nehme ich auch zur Hilfe. Aber ehrlich gesagt, fehlen mir da noch Infos.

Z.B.: Nun habe ich ein Flash-Movie das aus mehreren anderen Flash-Movies zusammengesetzt wird, die sich alle brav aus JPG und Texten zusammensetzen, die nachgeladen werden, .... Aber wie kann ich vom Hauptmovie prüfen ob ein eingebundenes Flash durchlaufen wurde und nun im letzten Bild steht.

Oder wenn ich SQL einsetzen möchte, muss ich das mit PHP machen, denn das würde bedeuten das ich die Seite jedesmal neu aufrufen muss und alle Flash-Movies von vorne starten, das wäre nervig,....
 
Hi,

hier ging es ja nur um die Verwendung des dritten Parameters der createEmptyMovieClip-Methode "public createEmptyMovieClip(name:String, depth:Number)" - da jede Tiefenebene (dephth) nur ein Objekt aufnehmen kann, musst Du beim zweiten Aufruf eine andere (z.B. 2) wählen.

Aber wie kann ich vom Hauptmovie prüfen ob ein eingebundenes Flash durchlaufen wurde und nun im letzten Bild steht.
Auf meherere Arten:
  1. Du lässt auf der Hauptzeitleiste eine onEnterFrame-Methode laufen, die die Eigenschaft _currentframe des eingeladenen Films mit der Eigenschaft _totalframes dieses Films vergleicht.

  2. (einfacher): Du rufst vom letzten Frame des eingeladenen Films eine Methode im Hauptfilm auf. Sobald diese Methode aufgerufen wurde, kann der Hauptfilm auf das Ende des eingeladenen Filmes reagieren.

Oder wenn ich SQL einsetzen möchte, muss ich das mit PHP machen, denn das würde bedeuten das ich die Seite jedesmal neu aufrufen muss und alle Flash-Movies von vorne starten, das wäre nervig,....
Zum Aufruf externer (z.B. PHP-) Scripte kannst Du u.a. das LoadVars- oder das XML-Objekt verwenden. Das ganze funktioniert dann ähnlich wie AJAX; ein Reload der kompletten Seite ist nicht erforderlich. Mit den Suchbegriffen "PHP", "SQL", "XML", "LoadVars" bzw. "onLoad" dürftest Du hier im Forum jede Menge zu dem Thema finden.

Gruß
.
 

Neue Beiträge

Zurück