Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2003, 10:36   #1 (permalink)
Derber Flasher
 
Benutzerbild von droptix
 
Registriert seit: Jul 2001
Ort: Chemnitz (Sachsen)
Beiträge: 251
HILFE ZU "Preloading - The Definitive Guide"

Da es beim Original-Thread schon über 100 Antworten gibt und ich ein echtes Problem habe, wollte ich mal einen neuen Thread beginnen, weil sich niemand mehr die Mühe macht, 100 Postings nach unten zu scrollen...

Ich habe eine fla mit drei Szenen. Szene 1 preloaded einen Trailer (externes swf), Szene 2 preloaded den Hauptfilm _root, falls der durch das Überspringen des Trailers noch nicht mit Laden fertig ist und Szene 3 beinhaltet dann den eigentlichen Inhalt. Ich habe alles wie in "Preloading - The Definitive Guide" beschrieben eingesetzt.

FEIN: Wenn ich Szene 1 zu ende laden lasse und erst bei "100% geladen" zu Szene 2 springe, dann lädt der Hauptfilm _root auch fleißig weiter.

ABER: Wenn ich das Preloading in Szene 1 durch einen simplen skip-Button überspringe (macht nix weiter als "nextScene()"), dann bleibt der Film stehen und lädt nicht weiter.

FRAGE: Muss ich den Loader irgendwie zurücksetzen oder warum lädt er nicht weiter???
__________________
Droptix WebDesign
www.droptix.de
droptix ist offline   Mit Zitat antworten
Alt 01-09-2003, 12:36   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Dein script würde mich interessieren!!
Scene1 bis 3 ist übrigens alles _root!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 01-09-2003, 12:38   #3 (permalink)
Nett hier ...
 
Benutzerbild von makese
 
Registriert seit: Nov 2002
Ort: Berlin
Beiträge: 643
...

wenn du skip drückst und die zweite scenen noch nicht geladen ist findet er sein ziel nicht ... (drück doch mal beim veröffentlichen zwei mal enter und dann str B dann siehst du wo er hinspringt )

unterm strich halt ne abftrage an den button ist die scene schon geladen ...


desweiteren
scene 1 preload
scene 2 content
scene 3 der fette trailer
... wär der in scene 2 müste der erst geladen werden bevor der content geladen werden kann

gruß makese
makese ist offline   Mit Zitat antworten
Alt 01-09-2003, 17:14   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
wer lesen kann ist klar im vorteil!!
in scene drei ist der content, in scene zwei der loader für diesen, und in scene eins der reingeladene Trailer

das script würde mich immernoch interessieren!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 02-09-2003, 09:13   #5 (permalink)
Derber Flasher
 
Benutzerbild von droptix
 
Registriert seit: Jul 2001
Ort: Chemnitz (Sachsen)
Beiträge: 251
du kriegst dein Script...

... nur wird das ein wenig kompliziert, weil ich derzeit kein Netz daheim hab und alles von hier aus erledigen muss. Ich muss das Script also mal mitbringen. Es ist total simpel. Bitte etwas Geduld » DANKE!

@ makese: Ich hab die Reihenfolge so festgelegt, weil:

1) Der Trailer den Zuschauer unterhalten soll, während der Rest vom Content (Szene 3) lädt.

2) Szene 2 gibt es eigentlich nur, falls der Trailer übersprungen wird. Um nicht gleich zum Content zu springen, überprüfe ich erst, ob der geladen komplett wurde.

Hätte das Script gleich heute mitbringen sollen...
__________________
Droptix WebDesign
www.droptix.de

Geändert von droptix (02-09-2003 um 09:15 Uhr)
droptix ist offline   Mit Zitat antworten
Alt 03-09-2003, 09:20   #6 (permalink)
Derber Flasher
 
Benutzerbild von droptix
 
Registriert seit: Jul 2001
Ort: Chemnitz (Sachsen)
Beiträge: 251
das script

So, hier ist das Script...

» Szene 1 (trailer) - preloadBar ist ein einfacher MC, der eine Prozentanzeige enthält und nix weiter macht, als die übermittelten Prozent grafisch darstellt. Nochmal zur Auffrischung: Wenn der Loader bis zu 100% durchläuft und ich nach erfolgreichem Laden die Funktion skip() aufrufe, dann klappt alles. Wenn ich aber den Trailer gar nicht erst sehen will und das Preloading des Trailers mit skip() überspringe, dann bleibt der Film in Szene 2 (preload) stehen. Dort befindet sich der gleiche MC preloadBar, um alles grafisch anzuzeigen. Wenn ich also bei 40% Trailer-Preloading abbreche, dann zeigt preloadBar in Szene 2 weiterhin 40% an und bleibt stehen. Ich habe getestet, ob der Film bei skip() auch wirklich in die nächste Szene springt und das tut er.

ActionScript:
  1. // Name des zu ladenden Clips
  2. clipName = "clips/trailer.swf";
  3. // Name des Movies
  4. mcName = "trailer";
  5. // leeren MovieClip erzeugen
  6. createEmptyMovieClip(mcName, 1);
  7. eval(mcName)._x = 80;
  8. eval(mcName)._y = 60;
  9. // Ohne diese include-Datei geht gar nichts
  10. #include "com.qlod.LoaderClass.as"
  11. // Wir erzeugen einen neuen Loader
  12. theLoader = new com.qlod.LoaderClass();
  13. // Es sollen mindestes 5 Schritte angezeigt werden,
  14. // damit der Loader nicht gleich wieder verschwindet.
  15. // Wert '1' (Standard) heißt 100% Speed.
  16. theLoader.setMinSteps(5);
  17. // Der Balken bekommt einen Handler zugewiesen,
  18. // der automatisch vom Loader regelmäßig aufgerufen wird
  19. // und als Parameter die geladenen Bytes bekommt.
  20. preloadBar.onLoadProgress = function(loaderObj) {
  21.     this.percent = Math.floor(loaderObj.getPercent());
  22.     // this.kBl = loaderObj.getKBLoaded();
  23.     // this.kBt = loaderObj.getKBTotal();
  24.     // this.downSpeed = Math.floor(loaderObj.getSpeed());
  25. };
  26. // Wir teilen dem Loader mit, dass der Balken an
  27. // Informationen zum Ladevorgang interessiert ist.
  28. // Der Loader fungiert hier als Sender (Broadcaster),
  29. // den Zuhörer (Listener) abonnieren können.
  30. theLoader.addListener(preloadBar);
  31. // Diese Funktion wird aufgerufen, wenn die Datei
  32. // fertig geladen ist
  33. // Sie gibt eine Meldung in das Ausgabefenster aus.
  34. preloadBar.onLoadComplete = function(success, loaderObj) {
  35.     if (success) {
  36.         trace("Der Film '"+loaderObj.getUrl()+"' wurde erfolgreich in '"+loaderObj.getTarget()+"' geladen.");
  37.         // Clip starten
  38.         eval(mcName).play();
  39.     } else {
  40.         trace("Der Film '"+loaderObj.getUrl()+"' konnte nicht in '"+loaderObj.getTarget()+"' geladen werden.");
  41.     }
  42. };
  43. // Die Funktion onLoadComplete ist auf der aktuellen Timeline
  44. // definiert, deshalb melden wir die aktuelle Timeline als Listener an
  45. theLoader.addListener(this);
  46. // Wir laden die SWF
  47. theLoader.load(mcName, clipName);
  48. // nach dem Abspielen des Clips
  49. _global.skip = function() {
  50.     // Film entladen
  51.     unloadMovie(mcName);
  52.     // zur nächsten Szene
  53.     nextScene();
  54. };
  55. stop();

» Szene 2 (preload) - wie gesagt: Benutze ich skip() nachdem der Trailer 100% geladen wurde, läuft die Szene preload brav durch und lädt den Hauptfilm zu Ende (falls er noch nicht fertig geladen wurde).

ActionScript:
  1. preloadBar.onLoadProgress = function(loaderObj) {
  2.     this.percent = Math.floor(loaderObj.getPercent());
  3.     // this.kBl = loaderObj.getKBLoaded();
  4.     // this.kBt = loaderObj.getKBTotal();
  5.     // this.downSpeed = Math.floor(loaderObj.getSpeed());
  6. };
  7. _root.onLoadComplete = function(success, loaderObj) {
  8.     if (success) {
  9.         trace("Der Film '"+loaderObj.getUrl()+"' wurde erfolgreich in '"+loaderObj.getTarget()+"' geladen.");
  10.         // weiter
  11.         nextScene();
  12.     } else {
  13.         trace("Der Film '"+loaderObj.getUrl()+"' konnte nicht in '"+loaderObj.getTarget()+"' geladen werden.");
  14.     }
  15. };
  16. theLoader.addListener(this);
  17. theLoader.observe(_root);

» Szene 3 (content) - Der Film soll hier einfach mit einem stop() stehen bleiben. Bis hierher geht es nur, wenn der Trailer 100% geladen wurde und erst dann geskipped wurde.
__________________
Droptix WebDesign
www.droptix.de
droptix ist offline   Mit Zitat antworten
Alt 04-09-2003, 16:11   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Sorry da hab ich den Popo noch ein bisschen zu weit unten!!
des is was für "bokel" oder "beachmeat" "Saban" "kelor" etc!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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 16:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele