23. januar 2002 - 00:56Der er
25 kommentarer og 2 løsninger
Preloader med procent, og en bar som bliver fyldt!
Som jeg har bemærket. Er der op til flere spørgsmål som har overskriften "preloader", men der er ingen komplet forklaring!
Jeg vil gerne bede om koder og forklaring til hvordan jeg laver min egen preloader. Dvs. fra a-z!
Er der nogle som kan hjælpe? Hvis I kan henvise til en toturial er det ok, men så skal det også være en forståelig og god én. Jeg anvender Flash 5.
Preloaderen skal bestå af en 5-10 cm aflang bar, som loader bidder, samtidig med at der skal være procent nedenunder! Jeg har ikke en rigtig idee om hvordan man laver en, så lad svaret være grundigt :)
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Oki - aller først laver du din slider bar. I mit tilfælde er den 200 px lang. Centimeter er jo relativt alt efter brugernes skærmopløsninger. Alt andet lige, det kan du ændre efter behov, jeg regner med de 200 pixels.
Lav din slider med width 200, lav den til et movieclip og giv den instancenavnet "slider". Placer den i et layer, hvortil du laver et mask layer. Masken skal være 200 px og være præcist der hvor du vil have din slider skal ses. Placér slideren så dens højrekant er præcist i maskens venstrekant, vær opmærksom på præcise pixels.
Lav et dynamisk tekstfelt og giv det variabelnavnet "prc". Det placerer du alt efter behov, du skriver 'nedenunder' - så gør du det ;0)
Til selve din preloader benytter vi de første 3 frames. Det eneste vi gør i den første er at få sliderens præcise x-værdi, derfor dette script:
//Sliderens x-værdi findes og gemmes i variablen sliderStart. sliderStart = _root.slider._x;
I frame 2 laver vi beregningerne du skal benytte:
// Det totale antal bytes der skal loades, her vil out-put være i kilobytes total = int(getBytesTotal()/1000);
//Det antal bytes der er loaded indtil videre. Igen out-put i Kb loaded = int(getBytesLoaded()/1000);
//Det antal vi har loaded indtil videre, out-put i procent prc = int((loaded/total)*100);
/*Her rykker vi så slideren. Dens x-værdi bliver udformet som startværdien samt det antal procent vi har loaded ganget med 2. Som følge af dette bliver din slider rykket 2 pixels pr. loaded procent, og dermed 200 px totalt. Denne værdi kan du ændre efter behov, så skal du blot huske at ændre slider MC'ets width samt masken også.*/
_root.slider._x = sliderStart + (prc*2);
I frame 3 laver vi vores conditional:
/* Hvis der er loaded 100 procent går vi til en frame med en frameLabe ved navn "afspil" - ellers tilbage til frame to og preloader scriptet køres igen.*/ if (prc == 100) { gotoAndStop("afspil"); } else { gotoAndPlay(2); }
And that was that :0)
Det burde være til at gå til, ellers må du skrive for at få svar. Og ikke for at virke sippet, men til så udførlig forklaring du eftersøger (og har fået ;0) er 15 pts måske lidt skaldet... men hey, hvad er points egentligt ;0)
Hey all_for_you, har ikke kunnet følge op før nu. Et mask layer laver du ved at addere et lag, placere det ovenover det lag der skal maskes, højreklikke på det og vælge mask. Det betyder at alt hvad du placerer i dette lag fungerer som en maske.
Hvad vil det så sige spørger du? Well, en maske er en maske. Man kan kun se igennem en maske hvis der er huller i den, nicht wahr? Dvs. det lag der ligger unden masken kan ikke ses, kun hvis du placerer objekter i selve mask layeret. Og det er så her du placerer et stykke grafik præcist der hvor du ønsker at se slider baren ;0)
Det er nu ikke rigtigt. Tweenen er på 100 frames, og for hver procent der indloades laves en gotoAndStop kommando til stedet på tweenen - hvorved baren bliver fuldstændig præcis.
Hehe.. barklund - nej design er ikke min stærkeste side. Jeg har nu også koncentreret mig mest om at få funktionaliteten til at virke. Alt hvad du finder på www.iqtest.dk er lavet fra bunden af undertegnede (måske lige bortset fra preloaderen! og andre småting). Alt er lavet i Flash, pånær indgangssiden, der er HTML med en Flash film indlagt.
Paask>> Nu starter jeg med din preloader. Jeg sidder lidt fast. Skal lige have uddybet nogle ting: 1) MC'en med "slider". Skal der bare være en bar, og det er det eneste, eller skal baren bevæge sig eller hva? Jeg aner det ikke! 2) Hvis du skulle give layerne navne. Hvad hedder så maske-layeret og det anden layer. Hvad skal ligge øverst?
Maske layeret ville jeg blot kalde 'mask'. Det skal være lige oven over det layer hvori dit MC slider er placeret. Betragt hele dit mask layer som et stykke klæde du lægger over dit MC slider.
Hvis man ikke har 'klippet huller' i klædet kan man ikke se det der er placeret i ethvert layer påvirket af et mask layer. Du kan se at dit layer er et mask layer hvis det har et blåt symbol med en pil nedaf. De layers (her kun ét, nemlig det med din slider) der er påvirket af et mask layer har et lilla symbol med en pil mod højre.
Det stykke grafik du placerer dit mask layer symboliserer hullerne i klædet. Derfor er det kun muligt at se noget hvis det befinder sig under netop dette hul, eller rettere grafikken i dit mask layer.
Derfor er det du placerer i mask layeret et stykke grafik der er placeret præcist som din slider hvis 100% er loadet. Selve din slider ligger i layeret under, lige akkurat til venstre for 'hullet' i masken. Dvs. fra start er din slider ikke synlig. efterhånden som der bliver loadet procentvist af din film flytter MC'et slider sig mod højre. Dvs. det bevæger sig ind under hullet i masken og bliver dermed synligt lidt efter lidt.
Ellers tag et kig på Ditlevs, den er ganske god - og faktisk nemmere at rette i end min udgave. Jeg var bare blank tidligere og overså en statement i dens script...
I et layer for sig selv vil jeg foreslå. Jeg plejer generelt at have det øverste layer i mine movies kun til actions. Skal jeg lave et eksempel på hvordan det vil se ud?
Okay. Det virker helt SPASSER, at jeg ikke kan finde ud af at lave en så simpel ting. Den vil bare ikke. Jeg har lavet prævis som du, men alligevel, så ser jeg bare et færdigloadet billede (En masse billeder som bare skal tage plads). Man kan se slideren har flyttet sig, for den har ikke samme placering som inde i Flash. Hvad er der galt? Tester jeg den forkert?
Hvis du kun tester på din egen maskine vil prc være 100 med det samme da filen kører fra din hd. Du er nødt til at uploade for at kunne teste filen. For ellers, første gang dit playhead rammer frame 3 så ER der 'loadet' 100 % og scriptet hopper så til frame "afslut".
jeg har prøvet at følge opskriften foroven, lagt mit projekt på nettet, tilmed gjort det tungere, men den står hele tiden på 100 og baren er hel udfyldt.. hvad kan være gået galt? kan nogen hjælpe??
Synes godt om
Ny brugerNybegynder
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.