bar_preloader ohne getBytesTotal()?

senor_max

Mitglied
Hallo zusammen,

ich mache es kurz...;)

Frage:
Ist es möglich das folgende Script so umzuschreiben,
dass es nicht alle Frames der swf-Datei laden muß bis
es auf "gotoAndPlay(3)" auslöst, sondern vielleicht nur
50%, oder wenn ein bestimmtes Frame erreicht wurde?
Es sollte aber so umgeschrieben sein, das der Lade-
balken bestehen bleibt!?


Script:

Code:
onClipEvent (load) {
tkb = _root.getBytesTotal();
}

onClipEvent (enterFrame) {
scale = ((_root.getBytesLoaded()/tkb)*100);
this._xscale = scale;
if (scale == 100) {
	_root.gotoAndPlay(3);
}
}{

Über eine Lösung würde ich mich sehr freuen!:)

Gruss Roman
 
PHP:
onClipEvent (load) {
tkb = _root.getBytesTotal() / 2;
}

onClipEvent (enterFrame) {
scale = ((_root.getBytesLoaded()/tkb)*100);
this._xscale = scale;
if (scale == 100) {
	_root.gotoAndPlay(3);
}
}

Hättest du aber auch alleine draufkommen können ;)
 
ja, danke für den Tipp.
Auf diese Version war ich auch gekommen, nur
schoß dabei der Ladebalken über sein Ziel, bzw hielt bei 100% nicht an!?

------------------------------------------------------
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
------------------------------------------------------

Was muß also noch beachtet werden?

Erbitte noch ein weiteres Statement!;)
 
ja, danke für den Tipp.
Auf diese Version war ich auch gekommen, nur
schoß dabei der Ladebalken über sein Ziel, bzw hielt bei 100% nicht an!?

------------------------------------------------------
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
------------------------------------------------------

Was muß also noch beachtet werden?

Erbitte noch ein weiteres Statement!;)
 
du musst den ladebalken über eine andere Variable steuern. In der musst du wieder die Gesamten geladenen Bytes benutzen (nicht die hierfür durch 2 geteilten).
also wenn du den ladebalken über scale steuerst denke ich müsste das in etwa so aussehen:

onClipEvent (load) {
tkb = _root.getBytesTotal();
tkb2 = tkb / 2;
}

onClipEvent (enterFrame) {
scale = ((_root.getBytesLoaded()/tkb)*100);
scale2 = ((_root.getBytesLoaded()/tkb2)*100);
this._xscale = scale2;
if (scale2 == 100) {
_root.gotoAndPlay(3);
}
}

somit hast du jetzt auf der variable scale die richtige Prozentzahl der geladenen bytes (damit steuerst du sicher deinen Ladebalken) und scale2 erreicht bereits bei der hälfte der geladenen bytes die 100 er Marke und wird zum abruch der Schleife benutzt. Habe das nicht getestet.......wenn es nicht geht einfach mal die fla posten. Dann schau ich mir das auch gerne noch mal an.
 
Zuletzt bearbeitet:
Herzlichen Dank für das Script,
jedoch habe ich in der vergangenen Zwischenzeit mich selbst noch
einmal versucht und bin (nachdem ich Blut und Wasser geschwitzt
habe!;) ) auf folgendes Script gekommen:

geladebytes = int (this.getBytesLoaded()/1024);
x = ((geladebytes/500)*100);
kbytes = int(this.getBytesLoaded()/1024) add "KB";
prozent = int (x) add "%";
setProperty ("_root.bar", _xscale, x);


if(geladebytes > 500){
gotoAndPlay("Start");
}

Und was soll ich sagen, "it works"!
Ich habe mit dem Script jetzt die Möglichkeit, super flexibel die Bytegröße
zu bestimmen, die es gilt zu laden, bevor es auf "gotoAndPlay()" geht!
Und der Ladebalken paßt sich dann an die Größe an!

Jedoch möchte ich mich trotzdem für Dein Engagement bedanken;)

Gruß Roman
 
Zurück