Volledige versie bekijken : Preloader voledig laten tellen.
mknol
%Europe/Berlin %498 %2005, 12:57
Beste Mensen,
Ik heb een werkende preloader. Nu is het zo dat er een procenten-teller inzit. Als je de movie inlaad, springt de teller van 3 naar 34 naar 77 naar 89 enz..
Hij slaat getallen over, wat ik niet wil.
Ik zou niet kunnen bedenken hoe ik dit kan fixen, dus dat de teller echt zo telt: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 enz.. De teller wordt in een dynamisch textvak ingeladen met als var 'klaar'. Overigens is er ook een balk die 100 frames heeft en hetzelfde probleem heeft, dus die slaat frames over. Dit lijkt me op dezelfde manier te moeten worden gefixt.
Stage.scaleMode = "NoScale";
Stage.align = "T";
totaalBytes = _root.getBytesTotal();
geladenBytes = _root.getBytesLoaded();
nogTeLaden = totaalBytes-geladenBytes;
percentKlaar = int((geladenBytes/totaalBytes)*100);
klaar = percentKlaar add "%";
// ^^ hier moet denk ik iets veranderen?
_root.preloadbalk.gotoAndStop(percentKlaar);
// ^^ hier moet denk ik ook iets veranderen?
if (_framesloaded>=_totalframes) {
gotoAndPlay(3);
}
behived
%Europe/Berlin %506 %2005, 13:09
ik zou je script om te bereken hoeveel er al gedownload is in een setInterval zetten die je heel snel laat lopen
mknol
%Europe/Berlin %508 %2005, 13:11
Uhm ok, dit klinkt wel redelijk duidelijk, maar hoe zou je dat doen?! [voorbeeld?]
Is het niet zo dat als je bijvoorbeeld veel tegelijk download, dat dat script waar je het over hebt, al meteen 'hakkelig' oploopt?
behived
%Europe/Berlin %518 %2005, 13:26
a=this.getBytesTotal();
function preloader (){
b=getBytesLoaded();
percentage=Math.round(b/a*100)
preloader_mc.gotoAndStop(percentage);
percentageb=percentage+" % geladen."
if(percentage>99){
clearInterval(pre);
trace("ok")
gotoAndStop(2);
}
updateAfterEvent();
}
pre=setInterval(preloader,10);
_root.diepte=5;
stop();
edit: bij mij loopt ie "smoot"
mknol
%Europe/Berlin %523 %2005, 13:33
mooi! Volgens mij werkt het.
/edit : Nee niet echt, test het eens op een snelle 'fake' verbinding (debug > customize) en je framerate laag voor de test. Hij slaat nogsteeds soms nummers over.
Je gebruikt hier wel andere dingen. wat is _root.diepte? niets he?
Kan je me uitleggen wat er nu precies gebeurd zodat hij het wel doet?
Nu moet mn textvak als var percentageb hebben he!?
behived
%Europe/Berlin %525 %2005, 13:36
die _root.diepte=5 stond er nog van mijn site :I
Je zal idd even moeten nakijken welke instance name ik gebruikt heb (percentageb voor het tekstvlak en preloader_mc voor de animatie)
mknol
%Europe/Berlin %525 %2005, 13:37
Nee het werkt niet helemaal, test het eens op een snelle 'fake' verbinding (debug > customize) en je framerate laag voor de test. Hij slaat nogsteeds soms nummers over.
mknol
%Europe/Berlin %529 %2005, 13:42
ik heb het percentage ook even getraced
8
8
8
8
8
9
9
9
9
9
9
11
11
11
11
11
11
11
11
11
13
13
13
13
13
14
14
14
14
14
14
16
16
16
16
16
17
17
17
17
17
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
23
23
23
23
25
25
25
25
25
26
26
26
26
26
26
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
32
32
32
32
32
32
33
33
33
33
34
34
34
34
34
36
36
36
36
36
37
37
37
37
37
38
38
38
38
38
40
40
40
40
40
41
41
41
41
41
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
47
47
47
47
47
47
48
48
48
48
48
50
50
50
50
50
51
51
51
51
51
52
52
52
52
52
54
54
54
54
54
54
55
55
55
55
55
57
57
57
57
57
58
58
58
58
58
60
60
60
60
60
60
63
63
63
63
63
63
63
63
63
64
64
64
64
64
65
65
65
65
65
65
67
67
67
67
68
68
68
68
68
70
70
70
70
70
70
71
71
71
71
71
71
72
72
72
72
74
74
74
74
74
75
75
75
75
77
77
77
77
77
77
78
78
78
78
80
80
80
80
80
81
81
81
81
81
81
82
82
82
82
82
84
84
84
84
84
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
96
96
96
97
97
97
97
97
99
99
99
99
99
100
100
behived
%Europe/Berlin %532 %2005, 13:46
verander
pre=setInterval(preloader,10);
in
pre=setInterval(preloader,1);
en test dan nog een keer (weet niet of het veel zal helpen)
mknol
%Europe/Berlin %534 %2005, 13:50
Heb ik net geprobeerd, maar dat helpt ook niet. Ik snap ook alleen niet wat die setinterval precies doet.
behived
%Europe/Berlin %537 %2005, 13:54
gaat je script onafhankelijk van je frame rate uitvoeren. Je bepaalt de snelheid in miliseconden. je moet wel een updateAfterEvent(); commando geven, anders worden de aanpassingen maar weergegeven op de volgende frame.
denk toch dat het al een hele verbetering is en dat het moet volstaan op een normale frame rate met aanvaardbaar aantal te downloaden kb
mknol
%Europe/Berlin %538 %2005, 13:55
Stage.scaleMode = "NoScale";
Stage.align = "T";
a = this.getBytesTotal();
_root.percentageteller=0;
function preloader() {
b = getBytesLoaded();
if (_root.percentageteller<percentage) {
_root.percentageteller++;
} else {
percentageteller = percentage;
}
percentage = Math.round(b/a*100);
preloadbalk.gotoAndStop(percentageteller);
percentageb = percentage;
if (percentageteller>99) {
clearInterval(pre);
trace(percentage);
gotoAndPlay(2);
}
trace(percentageteller);
updateAfterEvent();
}
pre = setInterval(preloader, 10);
stop();
yeah, dit werkt wel..!
Ik heb een aparte teller gemaakt die telt tot waar hij geladen heeft. Op deze manier telt hij precies goed. plaats je de trace alleen in de if in het toegevoegde stuk, dan telt hij precies van 1 tot 100 zonder er 1 over te slaan.
behived
%Europe/Berlin %541 %2005, 14:00
slim gevonden!
mknol
%Europe/Berlin %548 %2005, 14:09
jij bedankt voor je hulp
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.