Det er vel i virkeligheden mange metoder til preloading. Det lyder til at du gerne vil tilføje dine billeder i forskellige movieclips på scenen, og derfor ikke kan nøjes med at preloade dem et bestemt sted? 1. Enten kan du først preloade alle dine billeder (de fylder måske ret meget i flash's hukommelse?), derefter fjerne dem igen. Når du så skal bruge dem ligger de i browserens cache og er meget hurtige at få fat på. 2. Eller du kan preloade billederne til et "preload-bibliotek". Du kan så bruge BitmapData til at lave en kopi af billedet det sted du har brug for det.
1. Hmm, det afhænger jo af hvor meget plads cachen må optage. Alle browsere arbejder med cache så vidt jeg ved, men størrelsen kan variere - og kan jo styres af brugeren.
2. Det er noget i den her stil
import flash.display.BitmapData;
var bitmaps:Array = []:
function saveToBitmap(target:MovieClip):MovieClip {
// target er det movieclip, du lige har loadet et billede ind i target._visible = true; target._xscale = target._yscale = 100;
// kopier billede til bitmap var w:Number = target._width; var h:Number = target._height; var bmpData:BitmapData = new BitmapData(w, h, true, 0x000000); //true and 0 color allows for transparency bmpData.draw(target); bitmaps.push(bmpData);
}
// Du kan så attache dit bitmap-billede til et nyt movieclip var newMc:MovieClip = this.createEmptyMovieClip("newMc", this.getNextHighestDepth()); newMc.attachBitmap(bitmaps[0], 1, "never", true); //auto for pixelsnapping, true for smoothing
1. Kan man regne med, hvis jeg allerede har loadet billederne én gang, og de nu burde ligge i browserens cashe, at jeg, når jeg, når jeg senere for brug for billedet og loader det med loadClip() - at det så er loadet i samme frame?
2. Det kendte jeg slet ikke - det er da ret fedt! MEN, kan det bruges i mit tilfælde? Jeg har ca 100 .jpg'er fra alt imellem 10kb til 120kb. Risikerer jeg måske iike performance problemer? Det synes jeg ikke rigtigt jeg kan læse noget om noget sted.
1. Det ved jeg ikke - jeg arbejder aldrig med mere end én frame. Men du kan jo vente til alle billeder et loadet før du går videre til næste frame.
2. Ja, BitmapData er faktisk meget brugbart. Performance-problemer tror jeg ikke at det giver, men der er jo også begrænsninger for hvor meget RAM flash må bruge. Jeg ville nok satse på at bruge browserens cache i dit tilfælde.
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.