| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2007
Beiträge: 7
| Preloader ergibt keine 100%
Hallo, ich bin eigentlich in Sachen Actionscript nen ziemlicher Anfänger. Gut, ich kann PHP, was mir hilft das wenigstens Ansatzweise zu verstehen. Allerdings hab ich ein Problem. Ich hab mir einen Preloader von nem Videotutorial abgeschaut. Mit Ladebalken, Prozentanzeige, benötigte und moment geladene Bytes. Doch Leider läd er mir nicht immer bis zu den 100%. Also laden tut er das ganze sicherlich, allerdings kommt er zumindest nie zu den vollen 100% in der Ausgabe. Hoffe ihr findet einen Fehler, bzw. eine bessere Lösung. ![]() Code: Code: stop();
addEventListener(Event.ENTER_FRAME, loaderF);
function loaderF(e:Event):void{
var toLoad:Number = loaderInfo.bytesTotal;
var loaded:Number = loaderInfo.bytesLoaded;
var total:Number = loaded/toLoad;
if(loaded == toLoad) {
removeEventListener(Event.ENTER_FRAME, loaderF);
gotoAndPlay(2);
} else {
preloader_mc.preloaderFill_mc.scaleX = total;
preloader_mc.percent_txt.text = Math.floor(total*100) + "%";
preloader_mc.ofBytes_txt.text = loaded + "bytes";
preloader_mc.totalBytes_txt.text = toLoad + "bytes";
}
} |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
|
ähm... also: Math.floor(99.9) ergibt 99, also in der Ausgabe nicht 100%. Beim nächsten Durchlauf ist dann alles komplett geladen und if(loaded == toLoad) ist true, demzufolge else{} nicht mehr ausgeführt wird und die Anzeige nicht bei 100% ankommt. Oder? Mach doch einfach mal das else{} weg und aktualisiere die Textanzeige bedingungslos. Oder meinst Du if(loaded == toLoad) wird niemals true?
__________________ EDV = Ende Der Vernunft Geändert von hmpf (10-03-2009 um 22:25 Uhr) |
| | |
| | #3 (permalink) |
| Pixeldipaxeldipux Registriert seit: Dec 2002 Ort: Ruhrmetropole Essen
Beiträge: 7.589
|
Ahnung habe ich gar keine, aber Ideen viele - wenn es ansonsten klappt, würde ich aus der dargestellten 99 eine 100 machen - keiner merkt es, weil sich alle freuen, dass der Ladebalken weg ist. Es geht ja nicht um einen Raketenabschuss! Ahrsib ... think simple.
__________________ Selbstgelerntes ist am Besten! iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000 Achim ...Orient Das Flashforum zu unterstützen ist ganz einfach! |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jan 2007
Beiträge: 7
|
Ah danke. ![]() Mit ein wenig Denken und deinem Beitrag, hab ichs hinbekommen, hmpf. Ich hab einfach das gotoand... usw. in eine extra If Abfrage gepackt die überprüft ob die Prozentanzeige direkt "100%" hat. Danke Dir ;-) Code: stop();
addEventListener(Event.ENTER_FRAME, loaderF);
function loaderF(e:Event):void{
var toLoad:Number = loaderInfo.bytesTotal;
var loaded:Number = loaderInfo.bytesLoaded;
var total:Number = loaded/toLoad;
if(loaded == toLoad) {
preloader_mc.preloaderFill_mc.scaleX = total;
preloader_mc.percent_txt.text = Math.floor(total*100) + "%";
preloader_mc.ofBytes_txt.text = loaded;
preloader_mc.totalBytes_txt.text = toLoad;
}
if(preloader_mc.percent_txt.text == "100%") {
removeEventListener(Event.ENTER_FRAME, loaderF);
gotoAndPlay(2);
}
} |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
|
Dass Du die Textanzeige in der if(){} Klausel schreibst, ist aber nicht so sinnvoll... dann wird die ja nur ein mal ausgeführt, wenn alles fertig geladen ist. Ich würde es eher so machen: ActionScript:
__________________ EDV = Ende Der Vernunft |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| 100, as3, keine 100%, mcs, preloader |
| Themen-Optionen | |
| Ansicht | |
| |