Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-08-2005, 12:31   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 71
loadMovie+Preload+Sound-Obj.

Hallo Leute,

bitte nicht schlagen, ich weiß Preloader in allen möglichen Variationen sind hier quasi schon massig besprochen worden. Zu meiner Verteidigung: ich such seit heut Nacht und finde einfach kein passendes Beispiel.

Folgende Situation:
Ich hab einen Hauptfilm "seite.swf" in das zu einem bestimmten Zeitpunkt (Frame) das SWF "musik.swf" geladen werden soll. Nun ist die nachzuladende Datei natürlich etwas größer und ich wollte in sie einen schönen Preloader einbauen. Theoretisch alles toll!

Nun sah es aber so aus, dass Flash die über attachSound() aus der Library eingeladene Musikdatei immer schon im ersten Frame laden wollte - und das obwohl der Aufruf bzw. die Objekt-Entstehung erst in Frame 5 stattgefunden hat. Somit konnte der Preloader in der Datei nicht laden und die Sache war für die Tonne.

Aber ich hab mich nicht entmutigen lassen, wollte dann einen Preloader in den Hauptfilm packen, der die externe Datei einlädt und sozusagen von oben herab den Ladestatus anzeigt. Klappt aber auch nicht so richtig.

Ich geb mal ein bisschen Code:

ActionScript:
  1. Library-Objekt "musik" / Frame 1
  2.  
  3. onEnterFrame = function () {
  4.     this.loadMovie("musik.swf", 1);
  5.     mu_gl = _level1.getBytesLoaded();
  6.     mu_tt = _level1.getBytesTotal();
  7.     pro = int((mu_gl/mu_tt)*100)
  8.     if (pro<99) {
  9.         mc_musik.gotoAndStop(pro); // der MC hat 100 Bilder und gibt etwas mit einem Ladebalken Vergleichbares wieder
  10.     }
  11. }
  12. stop;



Hat jemand eine Idee, wie ich entweder innerhalb des nachzuladenden SWF's die Dateimenge auf ein anderes Frame verschiebe oder den externen Weg erfolgreicher gehen kann?

Riesen großen Dank im voraus.

Viele Grüße vom Niederrhein,
Nils

Geändert von homeexile (31-08-2005 um 12:42 Uhr)
homeexile ist offline   Mit Zitat antworten
Alt 31-08-2005, 12:41   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Ich weiß gerade nicht so recht, was du da machst, aber ein paar Sachen waren auf jeden Fall schon einmal nicht ganz richtig:
ActionScript:
  1. loadMovieNum("musik.swf", 1);
  2. this.onEnterFrame = function () {
  3.     mu_gl = _level1.getBytesLoaded();
  4.     mu_tt = _level1.getBytesTotal();
  5.     pro = Math.floor((mu_gl/mu_tt)*100);
  6.     if (pro<100) {
  7.         mc_musik.gotoAndStop(pro);
  8.     } else if (!isNaN(pro)) {
  9.         delete this.onEnterFrame;
  10.     }
  11. };
  12. stop;
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-08-2005, 13:10   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 71
Es sind echt immer Kleinigkeiten...

Riesen Dankeschön, es läuft.

Aber interessant wäre trotzdem noch, wie die Datenverlagerung in der "musik.swf" laufen würde?!
homeexile ist offline   Mit Zitat antworten
Alt 31-08-2005, 13:25   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von homeexile
Aber interessant wäre trotzdem noch, wie die Datenverlagerung in der "musik.swf" laufen würde?!
Wie meinst du das?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-08-2005, 13:31   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 71
Zitat:
Nun sah es aber so aus, dass Flash die über attachSound() aus der Library eingeladene Musikdatei immer schon im ersten Frame laden wollte - und das obwohl der Aufruf bzw. die Objekt-Entstehung erst in Frame 5 stattgefunden hat. Somit konnte der Preloader in der Datei nicht laden und die Sache war für die Tonne.
In Frame 1 war ein Preloader der nach Abschluss des Ladevorgangs ein Frame 5 gesprungen ist, in dem dann das Sound-Objekt gebildet und gestartet wurde. Leider konnte der Preloader nicht starten, weil das erste Frame ca. 4 mb hatte (klar, die MP3).

Irgendwie muss es doch eine Möglichkeit geben, dass diese Datenmenge erst in Frame 5 geladen wird. Sonst wäre eine Vorladefunktion in einem solchen SWF nicht möglich. Oder täusch ich mich?
homeexile ist offline   Mit Zitat antworten
Alt 31-08-2005, 13:36   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ja, nein... Das ist halt etwas blöde in Flash. Alles was du mit export für AS in der Bibliothek gekennzeichnet hast, wird im ersten Bild vor allem Anderen geladen. Bei Sound hättest du aber die Möglichkeit, den z.B. in den 3.Frame in die Zeitleiste zu packen und dem Bild, in dem der Sound liegt, einen Namen zu verpassen (z.B. "mukke"). Damit kannst du dann ab Bild 4 arbeiten, als ob der Sound aus der Bibliothek attached werden soll also so z.B.
ActionScript:
  1. mySound = new Sound(this)
  2. mySound.attachSound("mukk")
  3. mySound.start()
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-08-2005, 13:50   #7 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 71
Okay, werd ich dann bei Zeiten mal ausprobieren.

Vielen Dank Dir nochmal für Deine Hilfe. Zudem find ich Dein "ehrenamtliches" Engagement hier im Forum ziemlich bemerkenswert. Hut ab...

Viele Grüße
homeexile 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 21:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele