Avatar billede davidchristensen Praktikant
12. august 2002 - 18:42 Der er 43 kommentarer og
4 løsninger

Procent-preloader..?

Hej her.

Mon her er nogen der ville være med til at udvikle en procent-preloader til os alle sammen her..?

Jeg forestiller mig et script der siger noget i retning af:

Vi har en fast størrelse på den fil vi skal indlæse

Vi har et tekstfelt der viser hvor meget der skal loades ind (eks. 300 kb)

Vi har et tekstfelt der viser hvor meget der er blevet loadet ind

Vi har et MC der er vores indikatorbar (0-100%)som er 0 px. bred og MC'ets midterfeltet er venstrejusteret

Vi har et tekstfelt der kan vise procent loadet (0-100%)


Regnestykket forestiller jeg mig så således:
Filstørrelse / indlæst filstørrelse / 100 = hvad der skal stå i tekst feltet for procentvis indlæsning og x_width for vores indikatorbar.

Giver det ikke meget god mening?

Næste skridt er jo så at få det skrevet i actionscripting..

PS. måske man kunne tilføje en bandwith-parameter, så man kan se med hvor hurtig båndbredde man indlæser med, som man også kan bruge som designer/udvilker til at bestemme hvilken .swf-film brugeren skal indlæse..?

Kom alle.. Spring frisk :)

David
-
Avatar billede davidchristensen Praktikant
12. august 2002 - 19:08 #2
Aha, den ser jo god ud.. Jeg kan bare ikke nå at se den loade når jeg trykker Ctrl-F12..
Avatar billede mat Nybegynder
12. august 2002 - 19:11 #3
onClipEvent (load) {
total = _root.getBytesTotal();// hvor stor er filen?
this._xscale = 0;// sætter statusbar til 0 det er her scriptet ligger
_root.total_tekst = total;// vise det totale antal bytes i et tekstfelt
}

onClipEvent (enterFrame) {
loaded_so_far = _root.getBytesLoaded();// hvor meget er loadet?
_root.loaded_tekst = loaded_so_far; // vise det i et tekstfelt
percentLoaded = int(loaded_so_far/total*100);// regne procenten ud
_root.percent_tekst = percentLoaded;//vise procenten i et tekstfelt
this._xscale = percentLoaded; //sætte _xscale på dette movieclip alt efter procent loadet
if (total == loaded_so_far) { // tjekke om det hele er loadet og sende brugeren videre
_root.gotoAndStop("complete");
}
}
Avatar billede Per Frits Juniormester
12. august 2002 - 19:17 #4
Prøv at trykke "Ctrl/enter" istedet, og gå ind under debug/customize og sæt en lav bit rate.
Avatar billede Kengun Praktikant
12. august 2002 - 19:43 #5
Jeg får ikke linken over til at fungere :-/
Avatar billede davidchristensen Praktikant
12. august 2002 - 19:45 #6
Det fungerer ellers fint her..
Avatar billede Kengun Praktikant
12. august 2002 - 19:46 #7
Merkeligt, men jeg får meldingen: "We're sorry. Either the URL you requested is not available, or your user session has ended because of inactivity."
Avatar billede davidchristensen Praktikant
12. august 2002 - 19:57 #8
orv, det gør jef os' nu.. Hm..
Avatar billede davidchristensen Praktikant
12. august 2002 - 20:00 #9
æh, den skulle der stå..
Avatar billede Per Frits Juniormester
12. august 2002 - 20:03 #10
Gå ind på www.macromedia.com og opret dig som user.
Gå da ind under flash exchange, og søg på preloader, så skulle den være der.

:o)
Per Haar.
Avatar billede davidchristensen Praktikant
12. august 2002 - 20:07 #11
ih mand, det er jo komplet umuligt at teste sådan en preloader, for så snart man har loadet den ind een gang, må man omdøbe den før den gider loade ind igen..
Avatar billede Per Frits Juniormester
12. august 2002 - 20:09 #12
Prøv at trykke "Ctrl/enter" og gå ind under debug/customize og sæt en lav bit rate.
Når du har gjort det, kan du bare trykke "Ctrl/enter" så mange gange du vil, og den afspiller den forfra hver gang :o)

Per Haar
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:10 #13
keyyser-soze: Det virker ikke rigtigt det med at sætte en bitrate - den loader bare på livet løs, lynhurtigt også selvom jeg har proppet filen med altmuligt..

Men når jeg uploader den fungere det fint http://www.dlcd.dk/Preloader.html
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:11 #14
Iøvrigt er detder et andet script en veninde lige har mailet mig..
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:12 #15
Nogen der kan nå at se om den tæller? Jeg sidder ude på dtu med en alt for stor båndbredde til at kunne nå at se nogetsomhelst..
Avatar billede mat Nybegynder
12. august 2002 - 21:13 #16
david78 > ctrl+enter simulerer en streaming hver anden gang du trykker det... :)
Avatar billede Per Frits Juniormester
12. august 2002 - 21:14 #17
Hvis du nu sætter en bit rate til 4200, og går ind i debug igen, og vælger
(4.1 KB/s), og så trykker Crtl/enter igen, afspiller den som om din forbindelse kører med den hastighed.
Så skulle du nok kunne se den.
Per Haar.
Avatar billede mat Nybegynder
12. august 2002 - 21:15 #18
david78 > den loader det fint, men den hopper ingen steder hen bagefter
Avatar billede Per Frits Juniormester
12. august 2002 - 21:16 #19
Du skal ligge din preloader i en "Scene" foran din "Mainmovie"

Per Haar
Avatar billede Per Frits Juniormester
12. august 2002 - 21:18 #20
Hos mig loader den fint, og spiller endda guitar for mig :o)

Per Haar
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:20 #21
Ah, hver anden gang..!

Den laver ikke noget andet end spilelr musik når den har loadet, thats it folks :)

Tæller den ene af det små tal også?.
Avatar billede Per Frits Juniormester
12. august 2002 - 21:22 #22
Jeps :o)

Per Haar
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:23 #23
Tak venner, nu kan jeg se hvad der sker 2. gang man trykker ctrl+enter! Wee.. Det er jo bare som det skal være..!

Lige en sidste een: Hvordan kan man detecte brugerens båndbredde så man kan se den mens man loader? (og evt. regne ETA ud? :)
Avatar billede mat Nybegynder
12. august 2002 - 21:24 #24
nåeh, jeg sidder og hører musik så det må være forsvundet i larmen :)
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:26 #25
Ja, der er kun musik efter den har loadet.. :) Larmemusik kan man godt sige det er lidt..
Avatar billede mat Nybegynder
12. august 2002 - 21:37 #26
jeg tror mere det er det jeg hører der er noget larm, men det er god larm :)
Avatar billede davidchristensen Praktikant
12. august 2002 - 21:40 #27
:)

..Men bortset fra det, er der så nogen af jer der ved noget om hvordan man finder ud af detder med båndbredden? :)
Avatar billede baitianlong Nybegynder
13. august 2002 - 17:19 #28
i enterFrame:

speed = (getBytesLoaded()/1024)/(getTimer()/1000);
_root.speedtext = "loading at: " + speed + " kbps";

(o;
Avatar billede davidchristensen Praktikant
13. august 2002 - 17:31 #29
Hey Legende - det er supercool! :D

Men måske er der for mange decimaler med..? http://www.dlcd.dk/preloader.html

Går det iøvrigt ikke lidt ud over processorkraften?
Avatar billede baitianlong Nybegynder
13. august 2002 - 17:40 #30
speed = Math.round((getBytesLoaded()/1024)/(getTimer()/1000));

Nu er der ingen decimaler

-Ikke meget, tror jeg - Det er jo ikke den vilde udregning
Avatar billede davidchristensen Praktikant
13. august 2002 - 17:49 #31
Hm.. Jeg syns alligevel det er lidt federe med decimaler på :) Kan man evt. bestemme at der f.eks kun skal 5 decimaler efter kommaet?

Iøvrigt, Legend, smid lige et svar :)
Avatar billede baitianlong Nybegynder
13. august 2002 - 18:09 #32
Prøv den her:

i (load):

timerBegin = getTimer();

i (enterFrame):

tidsInterval = getTimer() - timerBegin;

decimalFaktor = 100;
kBPerSek = (1000/1024)*getBytesLoaded()/tidsInterval;
s = Math.ceil(kBPerSek*decimalFaktor)/decimalFaktor;
sString = String(s);
sPartArray = sString.split(".");

numberOfDecimals = 2; //her sætter du antal decimaler

if (sPartArray.length == 1) {
    zeroesToAdd = numberOfDecimals ;
    decimalString = ".";
} else {
    cifreFundet = sPartArray[1].length ;
    zeroesToAdd = numberOfDecimals - cifreFundet;
    decimalString = "." + sPartArray[1];
}

for ( i =  zeroesToAdd ; i > 0 ; i-- ) {
    decimalString = decimalString + "0";
  }
speed = sPartArray[0] + decimalString;
_root.speedtext = "loading at: " + speed + " kbps";



(o;
Avatar billede barklund Nybegynder
13. august 2002 - 20:49 #33
Det er nok verdens sindsygeste "rund-af-ved-femte-decimal"... En lidt nemmere:

tal = int(10000*tal)/10000;

Og skal der være 5 cifre efter komma:

tal = int(10000*tal)/10000)+"00000";
tal = substring(tal,0,tal.indexOf(".")+5);

/Barklund :o)
Avatar billede baitianlong Nybegynder
13. august 2002 - 20:54 #34
Jeg har ikke skrevet det (det kan jeg ikke) . Det er en lingoman engang har skrevet til mig... '(o;
Avatar billede barklund Nybegynder
13. august 2002 - 21:09 #35
Så er den perfekt:

Math.roundAt = function(num,base) {
    var d = base > 0 ? Math.pow(10,base) : 1;
    return Math.round(d*num)/d;
}
trace(Math.roundAt(5.748, 2)); // 5.75
trace(Math.roundAt(5.748, 1)); // 5.7
trace(Math.roundAt(5.748, -1)); // 6

Math.roundAtString = function(num,base) {
    var d = base > 0 ? Math.pow(10,base) : 1;
    var t = String(Math.round(d*num)/d+Math.pow(0.1,base+1));
    return substring(t,0,t.indexOf(".")+base+1);
}
trace(Math.roundAtString(5.7486, 3)); // 5.749
trace(Math.roundAtString(5.748,  3)); // 5.748
trace(Math.roundAtString(5.74,  3)); // 5.750
trace(Math.roundAtString(5,      3)); // 5.000


Den frække detalje er den lille "+Math.pow(0.1,base+1)", som sikrer, at tallet som streng indeholder et "." og putter nok "0" bagerst uden at brøkdelen påvirker tallet (da den ligger base+1 ude)...

/Barklund :o)
Avatar billede barklund Nybegynder
13. august 2002 - 21:10 #36
trace(Math.roundAtString(5.74,  3));

Giver rigtigt output "5.740", der er bare en fejl i kommentaren bag ved... :o)
Avatar billede davidchristensen Praktikant
13. august 2002 - 22:16 #37
Hey, det ser super ud Barklund.. Har ikke lige mulighed for at teste det nu, men jeg skal lige være helt med her engang.. Deder trace, skal de være med eller er de der bare for at jeg kan se hvad man kan skrive..æh, hvor er det så man kan skrive afrundningsparameteren henne?

Jeg er vist lidt forvirret nu, det er os et stykke tid siden jeg har set et stykke actionscript.. - Jeg kan bare ikke lige hitte ud af hvor jeg skal deffinere afrundingsparameteren henne - umiddelbart siger min logik mig at hvis jeg bruger alle de trace du ha lavet der og værdien 5.748 så får jeg noget sludder ud af det i sidst ende?

Nu har jeg iøvrigt fundet mig en lille hule her på Kampsax, Barklund :)
Avatar billede baitianlong Nybegynder
13. august 2002 - 22:22 #38
Duer min/lingoman's ikke ?
Avatar billede davidchristensen Praktikant
13. august 2002 - 22:24 #39
Jeg har ikke afprøvet dem endnu.. :)
Avatar billede davidchristensen Praktikant
13. august 2002 - 22:26 #40
Hey, der dukkede lige sådan en sidebar op der hed OBS med en orange ukendt fejl og jeg måtte skrive ovenstående besked to gange inden den "fik fat" her.. :/
Avatar billede davidchristensen Praktikant
29. august 2002 - 01:35 #41
Barklund, smid et svar :)
Avatar billede barklund Nybegynder
29. august 2002 - 09:35 #42
Jeg skal kun have en lille bitte del her... Jeg digtede bare nogle afrundingsfunktioner..
Avatar billede barklund Nybegynder
29. august 2002 - 09:35 #43
*host*
Avatar billede baitianlong Nybegynder
29. august 2002 - 18:50 #44
*tsk tsk*
Avatar billede barklund Nybegynder
29. august 2002 - 18:53 #45
Huh?
Avatar billede baitianlong Nybegynder
29. august 2002 - 18:56 #46
Jeg ville bare også sige en lyd (o;
Avatar billede davidchristensen Praktikant
08. september 2002 - 15:38 #47
Så der point. Og tak venner :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester