18. juli 2006 - 18:35
Der er
17 kommentarer og 1 løsning
PreLoader med procent
Hvordan går man sådan, så hvis eksempelvis 30 procent af filen er loadet, går den til en frame? 60 point Mvh. JPAG
Annonceindlæg fra GlobalConnect
Hvis du nu lavede et mc i stedet, og fik dét til at gå til det loadede antal procent vil din kode på root'en se sådan hér ud: onEnterFrame = function(){ dit_mc.gotoAndStop(getBytesLoaded() / getBytesTotal() * 100); }
Du kunne også nemt erstatte de *100 med *689 hvis der nu tilfældigvis er så mange frames :)
Jeg vil meget nødigt have det med frames. Kan man ikke finde hvor mange procent der er loadet, hvis det kunnne hedde "if (percentLoaded > 30%" eller sådan noget (Det ved jeg er helt forkert, men hvis du forstår?)
if(getBytesLoaded() / getBytesTotal() * 100 < 30){ // procent loaded er stadig under 30! }
getBytesLoaded() - antallet af loaded bytes getBytesTotal() - det totale antal bytes getBytesLoaded() : getBytesTotal() er blot lidt matematisk viden, der beviser, hvor meget tæller udgør i forhold til nævner. Er de lige store, giver det 1! Når der så ganges med 100 får man det i procent :)
... men hvis du ikke har lavet et frameloop skal det være: onEnterFrame = function(){ if(getBytesLoaded() / getBytesTotal() * 100 < 30){ // procent loaded er stadig under 30! } }
Okay, så jeg kan godt sige onEnterFrame = function(){ if(getBytesLoaded() / getBytesTotal() * 100 < 15){ gotoAndPlay(15) } } onEnterFrame = function(){ if(getBytesLoaded() / getBytesTotal() * 100 < 30){ gotoAndPlay(30) } } eksempelvis?
Hmm... jeg vil foreslå dig, at du stopper det lidt mere sammen: var procent:Number = getBytesLoaded() / getBytesTotal() * 100; onEnterFrame = fucntion()Void { if(procent < 15) { gotoAndStop(15); }else if(procent < 30) { gotoAndStop(30); } }
... men skal du springe med 15 som interval hele tiden, kan du jo splitte det op i 5'ere i stedet for 1'ere: var procent:Number = getBytesLoaded() / getBytesTotal() * 20; onEnterFrame = fucntion()Void { if(procent < 3) { gotoAndStop(15); }else if(procent < 6) { gotoAndStop(30); } } Så er hver procent = 1 altså 5% :)
18. juli 2006 - 21:08
#10
"... men skal du springe med 15 som interval hele tiden" - ... men skal du springe med 5, 10, 15 (etc.) som interval hele tiden
18. juli 2006 - 21:15
#11
Men nu er min case, at jeg vil vise forskellige ting efter en procentdel (fjerde-dele) er loadet. Kan jeg så: var procent:Number = getBytesLoaded() / getBytesTotal() * 25; onEnterFrame = fucntion()Void { if(procent < 5) { this.mit_movieclip1._visible = true this.mit_movieclip2._visible = false this.mit_movieclip3._visible = false this.mit_movieclip4._visible = false }else if(procent < 10) { this.mit_movieclip1._visible = true this.mit_movieclip2._visible = true this.mit_movieclip3._visible = false this.mit_movieclip4._visible = false }else if(procent < 15) { this.mit_movieclip1._visible = true this.mit_movieclip2._visible = true this.mit_movieclip3._visible = true this.mit_movieclip4._visible = false }else if(procent < 20) { this.mit_movieclip1._visible = true this.mit_movieclip2._visible = true this.mit_movieclip3._visible = true this.mit_movieclip4._visible = true } }
18. juli 2006 - 21:27
#12
var procent:Number = getBytesLoaded() / getBytesTotal() * 4; onEnterFrame = fucntion():Void { if(procent < 1) { mit_movieclip1._visible = true; mit_movieclip2._visible = false; mit_movieclip3._visible = false; mit_movieclip4._visible = false; }else if(procent < 2) { mit_movieclip1._visible = true; mit_movieclip2._visible = true; mit_movieclip3._visible = false; mit_movieclip4._visible = false; }else if(procent < 3) { mit_movieclip1._visible = true; mit_movieclip2._visible = true; mit_movieclip3._visible = true; mit_movieclip4._visible = false; }else if(procent < 4) { mit_movieclip1._visible = true; mit_movieclip2._visible = true; mit_movieclip3._visible = true; mit_movieclip4._visible = true; } } ... men da det er så enkelt, kan det gøres så simpelt som dette: mit_movieclip1._visible = false; mit_movieclip2._visible = false; mit_movieclip3._visible = false; mit_movieclip4._visible = false; onEnterFrame = function(){ var procent:Number = getBytesLoaded() / getBytesTotal() * 4; this['mit_movieclip' + procent]._visible = true; }
18. juli 2006 - 21:28
#13
var procent:Number = getBytesLoaded() / getBytesTotal() * 4; skal være inden for din onEnterFrame hver gang - min fejl!
18. juli 2006 - 21:30
#14
Det kan endda gøres simplere endnu: for(i = 1; i < 5; i++){ this['mit_movieclip1' + i]._visible = false; } onEnterFrame = function(){ var procent:Number = getBytesLoaded() / getBytesTotal() * 4; this['mit_movieclip' + procent]._visible = true; }
18. juli 2006 - 21:32
#15
... hvis du nu pludselig finder ud af, at der skal være flere movieclips, så brug følgende: var num:Number = 0; while(this['mit_movieclip' + (num + 1)]){ num++; } for(i = 1; i <= num; i++){ this['mit_movieclip1' + i]._visible = false; } onEnterFrame = function(){ var procent:Number = getBytesLoaded() / getBytesTotal() * num; this['mit_movieclip' + procent]._visible = true; }
18. juli 2006 - 21:33
#16
Jeg har bogmærket dette spørgsmål, da det er utroligt lærefuldt! Du fortjener 100 point EKSTRA :)
18. juli 2006 - 21:33
#17
ovenstående finder selv ud af, hvor mange movieclips du har lavet :) Mucha nemt!
18. juli 2006 - 21:35
#18
Jeg synes, du skal beholde de ekstra 100 point selv... Jeg bliver så glad, hver gang, jeg tilfredsstiller nogen! Det er så fedt! ... og det er fint for mig ;D
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.