Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-03-2004, 09:10   #1 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Unhappy Preloaderprobleme ...

Hallo,

ich verzweifle daran einen funktionierenden Preloader im Hauptfilm zu erstellen, mit dem ich meine Bilder und Filmchen laden kann.
Ich habe mir aus den Tuts folgendes Script geklaut und in mein erstes Schlüsselbild des Hauptfilms gesetzt.

Damit lade ich ein Bild in einen Movieclip.
Da ich davon ausging, daß das Laden sehr schnell ist habe ich mit trace("hier") in der Funktion ladestatus eine Testausgabe erzeugt, die NIE! angezeigt wird.
Was mache ich falsch ?

Sollte jemand weiterwissen, würde ich mich über einen Tip freuen.
Das Script (ohne die Movies) habe ich hier aufgelistet.

Grüße

cybermad


Hier ist mein Script:

// leeren Movieclip zur Aufnahme der geladenen Dateien erstellen

createEmptyMovieClip("ladeziel",0);
ladeziel._x=0;
ladeziel._y=0;
// Ladebefehl
ladeziel.loadMovie("bild.jpg");
ladestatus();
// Aufruf der Funktion für die Preloaderanzeige
// Ladeanzeige sichtbar machen
loader._visible = false;


//--- Ladefunktion --------------------------------
ladestatus=function(){
// Einen onEnterFrame-Event erstellen, so dass nun
// der Ladezustand kontinuierlich abgefragt und
// angezeigt wird

loader.onEnterFrame=function() {
trace("hier");
geladen = _root.ladeziel.getBytesLoaded();
zuladen = _root.ladeziel.getBytesTotal();
if (geladen>=10) {
// Ladeanzeige sichtbar machen
loader._visible = true;
// Berechnung der bereits geladenen Prozent
prozent = Math.round(geladen/zuladen*100);
// Ausgabe im dynamischen Textfeld "prozentanzeige"
this.prozentanzeige.text = prozent+" Prozent geladen";
// Skalierung des Balkens anhand der Prozentzahl
this.balken._xscale = prozent;
// Wenn komplett geladen
if (prozent>=100) {
// den EnterFrame-Event löschen um Performance zu sparen
delete this.onEnterFrame;
// die Ladeanzeige wieder unsichtbar machen
this._visible = false;
}
}
};
};
cybermad ist offline   Mit Zitat antworten
Alt 03-03-2004, 09:49   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Gibts denn den "loader"-MovieClip überhaupt? Da is in deinem Skript nix zu erkennen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:14   #3 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Ja, den loader-Movieclip gibt es.
Deshalb habe ich ja trace eingebaut, damit auf jedem Fall etwas passiert.

Was ich aber (als Anfänger) immer noch nicht verstehe, muß ich den eine load-Funktion in meinen Film einbauen, damit beim Laden etwas passiert, also

onLoad=function(){
// hier dann der Aufruf von loadstatus()
}


loadstatus=function(){

...

}
cybermad ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:20   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
OK, dann hast du den loader-MC direkt auf der Bühne angelegt. Hat der denn einen Instanznamen und is der auch "anwesend", wenn das Skript läuft? Weil ein trace im enterFrame sollte eigentlich schon narrensicher sein...

Und die load-Funktion is ja loadMovie, da musst/kannst nicht mit onLoad ne Rückmeldung abwarten. Dafür is ja dann die preloader-Funktion zuständig, also den Ladestatus zu checken.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:25   #5 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Der loader-Mc hat den Instanznamen loader und liegt im ersten Schlüsselbild des Films auf der Bühne.
Hier nochmals das komplette Script (im ersten Schlüsselbild):


// leeren Movieclip zur Aufnahme der geladenen Dateien erstellen

createEmptyMovieClip("ladeziel",0);
ladeziel._x=0;
ladeziel._y=0;
// Ladebefehl
ladeziel.loadMovie("bild.jpg");
ladestatus();
// Aufruf der Funktion für die Preloaderanzeige
// Ladeanzeige sichtbar machen
loader._visible = false;


//--- Ladefunktion --------------------------------
ladestatus=function(){
// Einen onEnterFrame-Event erstellen, so dass nun
// der Ladezustand kontinuierlich abgefragt und
// angezeigt wird

loader.onEnterFrame=function() {
trace("hier");
geladen = _root.ladeziel.getBytesLoaded();
zuladen = _root.ladeziel.getBytesTotal();
if (geladen>=10) {
// Ladeanzeige sichtbar machen
loader._visible = true;
// Berechnung der bereits geladenen Prozent
prozent = Math.round(geladen/zuladen*100);
// Ausgabe im dynamischen Textfeld "prozentanzeige"
this.prozentanzeige.text = prozent+" Prozent geladen";
// Skalierung des Balkens anhand der Prozentzahl
this.balken._xscale = prozent;
// Wenn komplett geladen
if (prozent>=100) {
// den EnterFrame-Event löschen um Performance zu sparen
delete this.onEnterFrame;
// die Ladeanzeige wieder unsichtbar machen
this._visible = false;
}
}
};
};
cybermad ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:30   #6 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
ich versuche einmal meine fla-Datei als .zip hochzuladen.
Hoffe das funktioniert.
Als Bild kann man jedes jpeg benutzen, das in bild.jpg umbenannt wurd.
Angehängte Dateien
Dateityp: zip film.zip (3,2 KB, 11x aufgerufen)
cybermad ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:44   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Das Ding funktioniert, wenn du ladestatus nicht als Methode, sondern als normale Funktion deklarierst:
ActionScript:
  1. function ladestatus() {
  2. //...
  3. }
...weil du ladestatus aufrufst, bevor du es definierst. Und das geht glaub ich nur mit Funktionen, die klassisch mit dem function-Keyword deklariert werden.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-03-2004, 10:49   #8 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Klasse, nun funktioniert es mit dem Trace, d.h. meine Funktione wird aufgerufen, aber mein Preloader will immer noch nicht so recht.
Wenn ich mir mit trace(Prozent) den aktuellen Prozentwert anzeigen lasse kommt immer 100.
Kann ich den Film irgendwie byteweise laden lassen, um mir das Verhalten des Preloaders anzuschauen, oder hat Du noch eine Idee ?

Grüße

cybermad
cybermad ist offline   Mit Zitat antworten
Alt 03-03-2004, 11:08   #9 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Ich habs online getestet und da geht des schon mit den Prozenten. Offline gehts nicht, weil Flash in der Testumgebung keine Streaming-Simulation für extern hinzu geladene Medien unterstützt. Das geht erst ab MX 2004.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-03-2004, 11:15   #10 (permalink)
flash4fun
 
Benutzerbild von cybermad
 
Registriert seit: Nov 2003
Ort: Bad Nauheim
Beiträge: 104
Lightbulb

Super !!!

Die Info war echt Klasse !!!

Ich Danke Dir für die Hilfe.

Servus

cybermad
cybermad 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 03:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele