Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2004, 21:10   #1 (permalink)
casual
 
Registriert seit: Aug 2002
Beiträge: 59
preload extern: fehler in script?

Hallo Forum,

ich versuche einen externen preloader zu erstellen.
Der preloader befindet sich (bei mir) in der 'introindex.swf' und soll nach erfolgreichem laden die 'index.html' anzeigen.
Natürlich mit Ladebalken,...

Leider finde ich den Fehler in meinem Script nicht.
Vielleicht könnt Ihr mir weiterhelfen.

Ich habe Euch hier die Fla bereitgestellt : link

Den aktuellen Stand könnt Ihr hier begutachten.

Die introindex.html zeigt weder den Ladestatus an, noch springt sie zum Hauptfilm (index.swf).

Hier könnt Ihr die Index.swf anschauen. Nach vollständigem Ladevorgang soll die introindex.html auf diese index.swf springen.

Habt Ihr eine Idee?
(Bitte versucht die Antwort möglichst einfach zu erklären. Ich bin mehr Künstler, als Programmierer)

Gruss,
Ben

PS: Ich benutze Flash MX
__________________
Grüße, Ben007
Ben007 ist offline   Mit Zitat antworten
Alt 23-04-2004, 21:42   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
ActionScript:
  1. ladeziel.loadMovie("index.swf");
Diese Zeile lädt die index.swf in einen Movieclip mit dem Instanznamen "ladeziel".
Allerdings find ich in diesem Frame mit dem Ladebefehl keinen Movieclip mit diesem Instanznamen. Oder hab ich den nur übersehen?
Jedenfalls wenn ich einen erstelle und ihm den Instanznamen "ladeziel" gebe, dann versucht er zu laden. Vorher geschieht ja gar nichts.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 23-04-2004, 22:01   #3 (permalink)
casual
 
Registriert seit: Aug 2002
Beiträge: 59
Hi Rena,

Du hast recht, es wird geladen und es wird auch die index.swf angezeigt.

Der Ladebalken wird aber bei mir nicht angezeigt.
Bei Dir etwa?
__________________
Grüße, Ben007
Ben007 ist offline   Mit Zitat antworten
Alt 23-04-2004, 22:12   #4 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Hast du es online getestet? Offline wird der Ladestatus von hinzugeladenen Daten von Flash nicht berücksichtigt ...
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 23-04-2004, 22:29   #5 (permalink)
casual
 
Registriert seit: Aug 2002
Beiträge: 59
Hi Rena,

ja, ich habe es auch online getestet.
Der Ladebalken wird nicht angezeigt.

Siehe hier

Und jetzt kriege ich auch die drei Quadrate aus dem Introindex nicht mehr weg.
Ich habe dazu dieses Script eingefügt:

if (prozent<=100) {
gotoAndPlay(12),
}

Frame 12 ist leer. ich habe nur ein 'Stop' eingefügt.

Geht leider auch nicht.

Oh man, das ist schon so lange her, als ich das letzte mal mit action script gearbeitet habe.

Danke für die Hilfe, Rena

Ben
__________________
Grüße, Ben007
Ben007 ist offline   Mit Zitat antworten
Alt 23-04-2004, 22:40   #6 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Ah jetzt ja ... hätt ich gleich sehen sollen. Die Funktion ladestatus wird
aufgerufen wenn sie noch gar nicht bekannt ist, da der Aufruf _vor_ der
Funktion liegt. Dreh es mal so um
ActionScript:
  1. //--- Ladeanzeige unsichtbar machen ---------------
  2. loader._visible = false;
  3. //-------------------------------------------------
  4.  
  5. //--- Ladefunktion --------------------------------
  6. ladestatus = function () {
  7.     // Einen onEnterFrame-Event erstellen, so dass nun
  8.     // der Ladezustand kontinuierlich abgefragt und
  9.     // angezeigt wird
  10.     loader.onEnterFrame = function() {
  11.         // Geladene und zu ladenede Bytetes abfragen
  12.         geladen = _root.ladeziel.getBytesLoaded();
  13.         zuladen = _root.ladeziel.getBytesTotal();
  14.         // Sicherheitsabfrage, da ein leerer MC so ungefähr
  15.         // 4 bis 5 Bytes hat und zu Verfälschungen führen könnte
  16.         if (geladen>=10) {
  17.             // Ladeanzeige sichtbar machen
  18.             loader._visible = true;
  19.             // Berechnung der bereits geladenen Prozent
  20.             prozent = Math.round(geladen/zuladen*100);
  21.             // Ausgabe im dynamischen Textfeld "prozentanzeige"
  22.             this.prozentanzeige.text = prozent+" Prozent geladen";
  23.             // Skalierung des Balkens anhand der Prozentzahl
  24.             this.balken._xscale = prozent;
  25.             // Wenn komplett geladen
  26.             if (prozent>=100) {
  27.                 _root.ladeziel.play(); //<- ergänzt
  28.                 // den EnterFrame-Event löschen um Performance zu sparen
  29.                 delete this.onEnterFrame;
  30.                 // die Ladeanzeige wieder unsichtbar machen
  31.                 this._visible = false;
  32. _root.gotoAndStop(12); //<- ergänzt 
  33.         }
  34.         }
  35.     };
  36. };
  37. //-------------------------------------------------
  38.     // Ladebefehl
  39.     ladeziel.loadMovie("index.swf");
  40.     // Aufruf der Funktion für die Preloaderanzeige
  41.     ladestatus();
Hab auch den Befehl zum Frame 12
der Hauptzeitleiste zu springen ergänzt (wichtig dabei: die gewünschte Zeitleite benennen)
Und was noch wichtig ist, wenn deine index.swf ein ganzer Film ist: in dessen
ersten Frame ein stop() legen und wenn fertig geladen, dann starten.
Diesen Startbefehl hab ich oben auch ergänzt.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 23-04-2004, 22:57   #7 (permalink)
casual
 
Registriert seit: Aug 2002
Beiträge: 59
Hallo Rena,

super! Die Quadrate sind weg.
Das klappt jetzt sehr gut.

Leider wird nach wie vor keine Ladebalken angezeigt.

Ich glaube, ich weiss wo das Problem ist. Kann es aber leider nicht in Action Script übersetzen.

Und zwar:

Momentan wird nur die loadMovie Funktion ausgeführt.
Das heisst, die ladestatus Funktion wird übergangen.
Ich glaube, da muss noch irgendeine Verbindung zu dem loadMovie hin.
So etwas wie: Wenn 'loadMovie' dann auch 'ladestatus'.

Ich meine, man muss noch zusätzlich sagen, dass er die ladestatus funktion starten soll, sobald er die loadMovie Funktion startet.

Weisst Du, was ich mein?

Ben
__________________
Grüße, Ben007
Ben007 ist offline   Mit Zitat antworten
Alt 23-04-2004, 23:26   #8 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Tut man ja duch die Zeile
ActionScript:
  1. ladestatus();
Bei mir geht's jetzt. hab das _root. gotoAndPlay(12) sicherheitshalber jetzt ans Ende gesetzt (oben geändert).

Link zum Gucken
http://www.shockfusion.de/ff/ladeindex/

Der Hauptfilm im Anhang.

Auf was du achten mußt beim Testen: Wenn die index.swf schon im Cache liegt, dann gibt es ja keine Ladedauer mehr weil schon da, also auch kein Balken.
Deshalb jedes Mal vor dem Testen den Cache leeren.

Gruß
Rena
Angehängte Dateien
Dateityp: zip introindex2.zip (20,6 KB, 24x aufgerufen)
__________________
www.rena-hermann.de

The angels have the phone box
rena 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 02:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele