03. november 2004 - 10:19Der er
9 kommentarer og 1 løsning
At lægge et fast billede på indtil flashen er loadet
Jeg ønsker ikke en animeret gif men blot et billede, der skal ligge på flashens plads, indtil den loades. Jeg er novice, så skriv så jeg kan fatte det. :)
Jeg er ikke helt med. Ønsker du et billede ligge på samme plads som/ovenpå swf'en indtil den er loadet? Jeg skal ikke kunne udelukke at det rent faktisk KAN lade sig gøre med noget snedigt dhtml/html layer/javascript, men jeg KAN garantere at det er urimeligt kompliceret. Og eftersom et billede af rimelig kvalitet alligevel fylder lige så mange kb som en Flashfilm, er der ikke vundet ret meget ved denne fremgangsmåde.
Ønsker du derimod en standard preloader (et billede som vises indtil resten er loaded) i starten af din Flash-film, er snakken en anden. Gør du det?
Hvis jeg kan lægge en standard preloader (som vel bare er en animeret gif) så kan jeg vel også blot lægge et fast billede, ikke? Det skal fungere sådan at billedet bliver loadet som det første, og derefter skal der bruges kræfter på at loade flashen. Hvordan det skal laves er mig ligemeget, bare det virker :)
Ok, så er det en normal preloader du skal slå kløerne i. Der er mange måder at lave sådan en på, men en ret hurtig og nem måde er:
1: Flyt hele dit indhold af fla-filen 5 frames til højre 2: lav et nyt lag og sæt dit preloader billede ind så det fylder de første 5 frames og derefter er væk. 3: Sæt det her script ind i i en keyframe på frame 5 i din film:
Nu vil filmen stå og loope imellem frame 1 og 5. Her plejer man at sætte en lille animation ind, så brugeren kan se at der bliver loadet noget. Husk at dit billede først skal loades ind før det vises, så sørg for at det ikke fylder så meget - ellers går fidusen jo lidt af preloaderen! Bruger du komponenter, skal du nok fjerne hakket i "export in first frame" i deres linkage settings.
Du kunne også lave en preloader scene, - så slipper du for at flytte på eksisterende frames, - og så kan man da bruge scener til noget fornuftigt :) Så altså stop(); checkLoad = function(){ if(this.getBytesLoaded() >= this.getBytesTotal()) { clearInterval(runCheckLoad) gotoAndPlay("nextScene"); } }
runCheckLoad = setInterval(checkLoad, 1);
du ka så bare smide dit billede i frame 1 i din preloader scene og det samme med koden.
husk at sætte en stop action ind i scenen efter preloaderen.
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.