Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-01-2004, 09:47   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
ich krieg´s nicht gebacken...

ich möchte in einen leeren attachten Movieclip unterschiedliche .swf´s reinladen und möchte vorher einen AS-preloader vorschalten. Ich weis, das es hier schon unzählige Beispiele für solche preloader gibt, jedoch komme ich irgendwie nicht weiter und wenn ich mir die totalbytes per trace ausgeben lasse bekomme ich immer nur die Zahl 30 anstatt der eigentlichen grösse 261kb.

Hier mein Ansatz im ersten Frame:

attachMovie("container","layer4",6,{_x:0,_y:0});
layer4.loadMovie("bild.swf");
layer4._visible = false;
layer4.onEnterFrame = function () {
percent = layer4.getBytesTotal();//ergibt immer nur 30
//percent = layer4.getBytesLoaded()/layer4.getBytesTotal()*100);
if(layer4._framesloaded<layer4._totalframes){
layer4._visible = true;
delete.this.onEnterFrame();
}
}
stop();
__________________
Danke an alle Beteiligten ...
drive68 ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:03   #2 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
hi,

mal nur für ein Test.

Was bekommst Du ausgegeben, wenn Du

delete.this.onEnterFrame();

auskommentiertst ?
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:05   #3 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
muss es nicht heissen "if(layer4._framesloaded >= layer4._totalframes)"?

sonst ist es ja klar, dass er sofort abbricht.
denn am anfang sollte _framesloaded wohl kleiner als _framestotal sein ;-)

gruß! daniel
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:16   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
Hab´s vorerst nur mal so getestet:

attachMovie("container","layer4",6,{_x:0,_y:0});
layer4.loadMovie("bild.swf");
layer4.onEnterFrame = function () {
percent = layer4.getBytesTotal();
trace(percent);//ergibt immer nur 30
}

eigentlich ist es egal ob ich getBytesTotal oder getBytesLoaded eingebe ich bekomme immer nur 30 getraced. framesloaded müssen später natürlich grösser gleich und nicht kleiner gleich gesetzt werden war aber nur ein tippfehler hier im Beitrag.
Habe jetzt auch mal versucht ein anderes swf zu laden jedoch bekomme ich dort auch nur 30 heraus. So wie es aussieht ermittelt mein onEnterFrame nur die Grösse des attachten Movies indem sich noch ein close-button befindet ignoriert jedoch den loadMovie bild.swf.
__________________
Danke an alle Beteiligten ...

Geändert von drive68 (13-01-2004 um 10:19 Uhr)
drive68 ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:17   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
ich würdr es auch so abfragen :

ActionScript:
  1. attachMovie ("container", "layer4", 6, {_x:0, _y:0});
  2. layer4.loadMovie ("bild.swf");
  3. layer4._visible = false;
  4. layer4.onEnterFrame = function () {
  5.     var total = layer4.getBytesTotal ();
  6.     //ergibt immer nur 30
  7.     var geladen = layer4.getBytesLoaded ();
  8.     //percent = layer4.getBytesLoaded()/layer4.getBytesTotal()*100);
  9.     if (geladen >= total) {
  10.         layer4._visible = true;
  11.         delete this.onEnterFrame;
  12.     }
  13. };
  14. stop ();
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:22   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
vielen Dank herego, jedoch bekomme ich bei Deiner Methode ebenfalls nur die 30 getraced. Hab´s oben nochmal genauer beschrieben...
Hab jetzt den close button nochmal rausgenommen und jetzt bekomme ich immer nur 4 bytes getraced also wird mein hineingeladener Movie bei dem onEnterFrame nicht berücksichtigt.
__________________
Danke an alle Beteiligten ...

Geändert von drive68 (13-01-2004 um 10:27 Uhr)
drive68 ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:27   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Habe es gerade getestet.Stimmt !

Aber versuche das mal !

ActionScript:
  1. attachMovie ("container", "layer4", 6, {_x:0, _y:0});
  2. layer4.loadMovie ("bild.swf");
  3. layer4._visible = false;
  4. onEnterFrame = function () {
  5.     var total = layer4.getBytesTotal ();
  6.     trace (total);
  7.     var geladen = layer4.getBytesLoaded ();
  8.     trace (geladen);
  9.     // percent = layer4.getBytesLoaded()/layer4.getBytesTotal()*100);
  10.     if (geladen >= total && total > 10) {
  11.         layer4._visible = true;
  12.         delete this.onEnterFrame;
  13.     }
  14. };
  15. stop ();
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:30   #8 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
ActionScript:
  1. attachMovie("container","layer4",6,{_x:0,_y:0});
  2. layer4.loadMovie("bild.swf");
  3. layer4._visible = false;
  4. layer4.onEnterFrame = function () {
  5. percent = layer4.getBytesTotal(); //ergibt immer nur 30
  6. trace (percent + " Bytes zu laden");
  7. //percent = layer4.getBytesLoaded()/layer4.getBytesTotal()*100);
  8. if(layer4._framesloaded >= layer4._totalframes){
  9. layer4._visible = true;
  10. trace ("Fertig geladen!");
  11. delete this.onEnterFrame();
  12. }
  13. }
  14. stop();
das müsste so aber funzen...

kann höchstens sein, dass er bei der ersten abfrage das zu ladende swf noch nicht drin
und bei der zweiten abfrage schon das ganze swf geladen hat.
dann müsste halt "Fertig geladen" getraced werden...

vielleicht schraubst du in der testumgebung die bandbreite einfach mal runter...
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:38   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
Hab´die Bandbreite schon auf 1.2 Kb/s heruntergeschraubt und das Script nur verkürzt laufen lassen.

layer4.onEnterFrame = function () {
percent = layer4.getBytesTotal();
trace (percent + " Bytes zu laden");
}

bekomme hierbei immer nur 4 getraced und das entspricht der grösse des containers. Der loadMovie wird hierbei ignoriert.
__________________
Danke an alle Beteiligten ...
drive68 ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:39   #10 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
@harego: so geht's natürlich auch *g*
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:42   #11 (permalink)
jungflasher
 
Benutzerbild von sesamstrassenbe
 
Registriert seit: Oct 2002
Ort: Dortmund
Beiträge: 132
schreib mal statt "layer4.getBytesTotal();" "this.getBytesTotal();" in deine funktion.
die bezieht sich ja schon auf layer4...
__________________
sesamstrassenbert. so viel platz muss sein ;-)

www.digisurf.de
sesamstrassenbe ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:44   #12 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
hab´s geändert, ändert aber nichts daran, das die function nur die 4 byte erkennnt.
__________________
Danke an alle Beteiligten ...
drive68 ist offline   Mit Zitat antworten
Alt 13-01-2004, 10:52   #13 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
drive68 hast Du mein Script genommen ?

Ich habe es getestet und eine korrekte Ausgabe bekommen !

Wenn es nicht geht, wirst Du uns mal Die *.fla geben müssen !
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 15-01-2004, 07:54   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
Hab´s jetzt mal so umgebaut wie ich es brauche, jedoch bekomme ich immer noch keine Ladeanzeige - was habe ich falsch gemacht?

Mit setVar setze ich eine Variable die später irgendwo mit einer funktion gesetzt wird und den layer4 auf Inhalt-Laden stellen soll.

Wäre nett wenn mir hier nochmal jemand helfen könnte.
__________________
Danke an alle Beteiligten ...
drive68 ist offline   Mit Zitat antworten
Alt 15-01-2004, 08:09   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bayern
Beiträge: 120
bekomme die Datei nicht hochgeladen also hier nochmal das Script in layer4:

mc_holder.loadMovie(_root.auswahl);
mc_holder._visible = false;

this.onEnterFrame = function () {
total = mc_holder.getBytesTotal ();
geladen = mc_holder.getBytesLoaded ();
percent = Math.round((geladen/total)*100);
loaded = "loaded "+percent+" %";
mc_load.mc_loadBar._xscale = percent;
if (geladen >= total && total > 10) {
mc_holder._visible = true;
mc_load._visible = false;
delete this.onEnterFrame;
}
}
stop ();

der layer4 wird auf die Bühne attached und innerhalb des attachten Movie´s befinden sich wiederum zwei Movies, einmal der mc_holder in den das swf geladen wird und einmal mc_load in dem sich der mc_loadBar befindet.
__________________
Danke an alle Beteiligten ...
drive68 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 18:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele