Preloader für externe *.swfs (Flash-MX)

jeancool

Grünschnabel
Hallo!

Hab schon diverse Foren durchgesehen, aber nicht durchschaut..;) Bzw die dort angebotenen Lösungen passten nicht zu meinem Problem:

Die ganze Seite ist folgendermaßen unelegant konzipiert (geschuldet meinem mangelnden Verstädnis von Flash..und außerdem funktioniert es ja...):

1. Ein Hintergrundfilm, der Rahmengrafik und eine grundlegende, von überall her zugängliche Menufunktionalität bereitstellt.

2. Mehrere Menufilme (einem grafisch strukturiertem Hintergrund des Menus geschuldet), so dass bei jedem Klick auf einen Menupunkt, der zum Aufklappen eines neuen Punktes führt, ein neuer Menufilm geladen wird.

3. Verschiedene Inhaltsfilme.

Bisher läuft es so ab, dass von der veröffentlichten HTML-Seite ausgehend der Hintergrundfilm geladen wird, der Rest geschieht "automatisch".

Im ersten Frame des Hintergrundfilmes steht

Code:
loadMovieNum("Menu_all_closed.swf",1);
loadMovieNum("Home.swf",2);

So weit, so gut.

Da alle drei Filme in der Summe recht umfangreich sind (ca.100-140 kB), möchte ich einen Preloader einfügen, der alle drei Filme auf einmal lädt (Also die Summe der Dateigrößenberücksichtigt und natürlich auch entsprechend lange zu sehen ist).

HILFE!

(Ewige Dankbarkeit ist allen Helfenden sicher, es geht um eine Anwaltsseite, ich werde sie hier veröffentlichen, falls also mal jemand Rat braucht bei der Gründung eines weltumspannenden Firmenimperiums....;).....)
 
Hi,

wirf mal einen Blick auf diese Datei: Multiloader (wurde schon im Forum gepostet, aber in dieser Version sind einige Fehler korrigiert, die bei grösseren Dateien auftreten). Die Dateinamen der Filme werden URL-kodiert aus einer Textdatei ("subclips.txt") geladen: clip0=dateiname1.swf&clip1=dateiname2.swf&clip3= ... usw.

Gruß
.
 
Hallo Datic!

Danke für deine schnelle Reaktion. Ich habe den loader ausprobiert, und tatsächlich, er lädt von drei Filmen jene beiden, die nicht auf Level 0 (also Menu_closed.swf=1 und Home.swf=2) liegen. Allerdings vermisse ich den Hintergrund- bzw. Mainfilm. Liegt das daran, dass der Mainfilm eigentlich auf Level 0 liegen soll, dort aber der Loader rödelt?

Ich komme mir vor wie erste Klasse Baumschule und weiß ehrlich gesagt nicht, wie ich den Loader in den Film integrieren soll damit:

1. während des Ladevorgangs nur der Loader zu sehen ist, keiner der drei zu ladenden Filme.

2. Nachdem die drei Filme geladen sind der Loader verschwindet und der reguläre "Film" beginnt.

Schon mal vielen Dank für die Hilfe, bin recht unvermittelt an dieses Projekt gesetzt worden und schwitze mir hier täglich einen ab, schon alleine damit, mich zunächst in Flash einzuarbeiten. (Und sorry fürs Multiposten, war so nicht beabsichtigt)
 
Hi,

tja, zunächst einmal würde ich Unterfilme nicht in Levels, sondern in Container laden (dadurch kannst Du sie sowohl ansprechen als auch manipulieren). Dieser Preloader lädt die Filme erst einmal nur in unsichtbare Container, die irgendwo liegen: Hauptsache, sie befinden sich im Cache. Danach könntest Du die Filme mit einem weiteren LoadMovie-Befehl dahin laden, wo Du willst.

Indem Du passende Container wählst, kannst Du die Clips natürlich gleich dahin laden, wo Du willst - das aber eben nur, wenn Du von Stufen (Levels) auf Container umstellst. In diesem Fall poste bitte Deine Datei (den Hauptfilm), damit ich mir das mal ansehen kann.

Gruß
.
 
Huhu!

Hmmm...Container....

Ich hab hier drei Bücher über Flash rumliegen, darin ist nicht einmal die Rede von Containern.....*grmbl*...

Also im Hauptfilm, der bisher durch die HTML-Seite auf Level 0 geladen wird steht nicht mehr Code, als den, den ich ganz oben gepostet habe. Nur ein Frame sozusagen, keine weiteren Szenen. As simple as possible...but maybe too simple?..*g* Willst du den Film trotzdem sehen?

Danke..danke...danke...
 
Container? Such mal hier im Forum nach dem Begriff, und Du wirst staunen, wie geläufig das hier ist... ;)

Generell gibt es beim Laden von Clips zwei Möglichkeiten:

loadMovieNum - lädt in einen Level. Ist eigentlich eine ziemlich veraltete Methode, da sich mit Stufen viel schwerer hantieren lässt als mit MovieClips

loadMovie (oder clip.loadMovie) lädt einen Clip in einen anderen Clip (diese (oft leeren) Clips, in die andere Clips geladen werden, nennen wir "Container"). Vorteil: Du kannst die Stapelreihenfolge, Position und vieles mehr direkt beeinflussen, da Du für jeden eingeladenen Clip einen eigenen MC mit Bezeichner usw. hast.

Poste dennoch mal Deine Datei, Du hast wie gesagt zwei Möglichkeiten (wobei die Umstellung auf Container nicht unbedingt nötig sein muss); welche nun kurzfristig eher anzuraten ist, kann ich anhand der Datei am besten ersehen.

Gruß
.
 
Zurück