---
title: "Extern preloader"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/132156-extern-preloader"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "rille31"
published: "2005-08-02T09:22:26.000Z"
updated: "2005-08-06T09:51:33.000Z"
replies: 6
views: 412
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/flash/132156-extern-preloader"
---

# Extern preloader

## #1 — rille31, 2005-08-02T09:22Z

Tjena

Hade tänkt att göra en preloader som väger en del , tex ett MC med en bitmappsbild som animeras och en enkel kod som visar % i ett dynamiskt textfält.
Diverse filmer ska laddas in i ett filmklipp.
Det måst vara onödigt att ladda samma tunga preloader i varje extern film.
Hur gör man för att återanvända preloadern så att den visar 
statusen för dom laddade filmerna, har läst om externa  prealoders men hittar inga bra tutorials på nätet.

Permalänk: https://www.webforum.nu/p/132156

## #2 — Alar, 2005-08-03T21:32Z

Hej,
jag har använt nedanstående enkla preloader för att ladda swf:er.

Skapa ett movieclip. Lägg följande script på frame 1:

\_root.stop();
totalbytes = \_root.holder.getBytesTotal("movie"+\_root,"i"+".swf");
loadedbytes = \_root.holder.getBytesLoaded("movie"+\_root,"i"+".swf");
if(totalbytes \> 4 && totalbytes == loadedbytes) {
	\_root.play();

Och detta på frame 2:
gotoAndPlay(1);
}

i är en variabel som du tilldelar ett värde.
Swf:erna som laddas heter alltså movie1.swf, movie2.swf osv.
Jag brydde mig inte om att ha en räknare men det kan du naturligtvis lägga till på sedvanligt sätt - dvs, som i vanliga preloaders.

Det hela funkar utmärkt.

/Alar

Permalänk: https://www.webforum.nu/p/1653751

## #3 — rille31, 2005-08-04T08:01Z

Tsm Alar, ska testa vid tillfälle :)

Fråga: Ska jag köra ngt i denna stil på knapparna i huvudtidslinjen som laddar in filmerna

on (press) {
   i = 1;
   holder.loadMovie("movie"+i+".swf");
}

På vilket sätt  anropar du filmklippet med laddaren, kanske laddare.\_visible=true;?

Huvudtidslinjen står stilla och den laddade filmen ska spela,
sulle det här funka?

\_root.holder.stop(); //stoppar movie1
totalbytes = \_root.holder.getBytesTotal("movie"+\_root,"i"+".swf");
loadedbytes = \_root.holder.getBytesLoaded("movie"+\_root,"i"+".swf");
if(totalbytes \> 4 && totalbytes == loadedbytes) {
\_root.holder.play(); //movie1 börjar spela
\_this.\_visible=false; //gömmer laddaren

Och detta på frame 2:
gotoAndPlay(1);
}

Är tacksam för eventuell hjälp
 :r

Permalänk: https://www.webforum.nu/p/1653804

## #4 — Alar, 2005-08-04T10:34Z

Jo, någonting i den stilen borde funka...

Upptäckte förresten att jag placerat } fel.
} ska naturligtvis vara i slutet på första scriptet.
Script 2 behöver ingen }

/Alar

Permalänk: https://www.webforum.nu/p/1653842

## #5 — rille31, 2005-08-05T14:17Z

Gjorde en sådan här kod för laddaren men vet inte om den funkar
den verkar bara blinka till med 100%, (har bredband men ändå).

//kod frame1
\_root.container.loadMovie("movie"+\_root.i+".swf");
percent = Math.floor(\_root.container.getBytesLoaded("movie"+\_root.i+".swf")/\_root.container.getBytesTotal("movie"+\_root.i+".swf")\*100);
perLoader.per.text = percent+"%";

Ska sökvägen för getBytesLoaded koden vara så eller såhär
getBytesLoaded(\_root.container."movie"+\_root.i+".swf")

//kod i frame 2
if (percent \>= 100) {
	gotoAndPlay(out);
} else {
	gotoAndPlay(loading);
}

Permalänk: https://www.webforum.nu/p/1654150

## #6 — Alar, 2005-08-05T19:26Z

Har inte kollat din kod särskilt noga men upptäckte att du skrivit \_root.i

Skall vara \_root,"i"

OBS kommatecknet och citat.

/Alar

Permalänk: https://www.webforum.nu/p/1654197

## #7 — rille31, 2005-08-06T09:51Z

Jag har gjort så att i är en variabel som ändras när man trycker på en knapp i huvudtidslinjen

on (press) {
\_root.i="1";
\_root.loader.gotoAndPlay(loading);//här börjar inladdningen av movie1  eller vad det nu är för värde på i tex 2
}

//kod på loadinglabeln som loppar på tidslinjen mellan två frames
\_root.container.loadMovie("movie"+\_root.i+".swf");
percent = Math.floor(\_root.container.getBytesLoaded("movie"+\_root.i+".swf")/\_root.container.getBytesTotal("movie"+\_root.i+".swf")\*100);
perLoader.per.text = percent+"%";

om jag skriver "i" blir det väl stringen "i" iställer för tex i="1" dvs moviei.swf istället för movie1.swf eller har jag tänkt fel, hursomhelst så funkar inladdningen men procentfältet blinkar bara 100% fast jag tömt cacheminnet.

Permalänk: https://www.webforum.nu/p/1654260

---

Tråden på webben: https://www.webforum.nu/amne/flash/132156-extern-preloader
