---
title: "Problem med preloader"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/152308-problem-med-preloader"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "Mika3l"
published: "2006-10-09T19:01:30.000Z"
updated: "2006-10-13T21:17:10.000Z"
replies: 6
views: 305
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/152308-problem-med-preloader"
---

# Problem med preloader

## #1 — Mika3l, 2006-10-09T19:01Z

Håller på med ett bildgalleri och har ett MC (imgloadbarMC) som ändras i höjdled för att flyta över thumbnailen (-120 i höjdled) man precis har tryckt på.
Har testat med följande:
Knapp

```
on(press) {
	varNewPic = "1";
	varPicWidth = "750";
	varPicHeight = "525";
	imgloadbarMC._x = imgbt1._x;
	imgloadbarMC._width = imgbt1._width;
	loadpicMC.gotoAndPlay(2);
}
```

Frame

```
_parent._parent["picMC"].loadMovie("images/archive/good/" + _parent["varNewPic"] + ".jpg");
varLB = _parent._parent["picMC"].getBytesLoaded();
varTB = _parent._parent["picMC"].getBytesTotal();
varPercent = varLB/(varTB/100);
//trace(varPercent + "," + varPercent*1.2);
_parent["imgloadbarMC"]._y -= varPercent*1.2;
if(varLB>=varTB) {
	gotoAndPlay(6);
}
```

Det som händer är att laddaren hamnar på y 0 som den ska göra när bilden är färdigladdad men den gör det även om bilden inte är färdigladdad. Nån som har några aningar om vad som kan va fel? :)

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

## #2 — mirandir, 2006-10-10T06:15Z

När man laddar någonting från en extern källa så tar det ett tag innan Flash registrerar storleken på detta. Det kan ta ett par "bildrutor" men alltid minst en. Under den tiden så returnerar getBytesLoaded() och getBytesTotal() samma värde. Vilket är det värde som det nuvarande filmklippet har.

För ett tomt filmklipp som placerats på "scenen" när du skapade filmen är storleken 4 (bytes). Därför bör man alltid lägga in en kontroll i externa preloaders att storleken på filmklippet är större än 4. Om man har laddat in någonting sedan förut så bör man "nollställa" filmklippet först genom att anropa dess metod unloadMovie() innan man laddar in ett nytt innehåll.

Dessutom så måste du repetera testet och det utan loadMovie som du har i din kod där.

/Mirandir

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

## #3 — Mika3l, 2006-10-10T17:53Z

Använder mig av unloadMovie() och testet repeteras men jag skrev inte det för jag tänkte att det var en självklarhet. ;)

Men jag ska alltså ha loadmovie() i en egen frame och en kontroll, if(picMC.\_getbytestotal()\>4)?, innan procenträknandet drar igång?

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

## #4 — mirandir, 2006-10-10T18:56Z

> Men jag ska alltså ha loadmovie() i en egen frame och en kontroll, if(picMC.\_getbytestotal()\>4)?, innan procenträknandet drar igång?

Du kan även använda:

if(varLB\>=varTB && varTB \> 4) {
	gotoAndPlay(6);
}

/Mirandir

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

## #5 — Mika3l, 2006-10-10T19:36Z

Hmm.. Det verkar fungera bra på dom normala bilderna men när jag testar med att ladda in en bild som är några mb stor så drar preloadern bara iväg nu.

1 (frame):

```
stop();
```

2:

```
if(_parent._parent.picMC._alpha<=0) {
	_parent._parent["picMC"].unloadMovie();
	gotoAndPlay(4);
}
_parent._parent.picMC._alpha -= 10;
_parent["imgloadbarMC"]._y = 120;
_parent["imgloadbarMC"]._alpha = 40;
```

3:

```
gotoAndPlay(2);
```

4:

```
_parent._parent["picMC"].loadMovie("images/archive/good/" + _parent["varNewPic"] + ".jpg");
```

5-8: Tomt
9:

```
varLB = _parent._parent["picMC"].getBytesLoaded();
varTB = _parent._parent["picMC"].getBytesTotal();
if(varTB>4) {
varPercent = varLB/(varTB/100);
trace(varPercent + "," + varPercent*1.2);
_parent["imgloadbarMC"]._y -= varPercent*1.2;
if(varLB>=varTB) {
	gotoAndPlay(11);
}
}
```

10:

```
gotoAndPlay(9);
```

11:

```
_parent._parent["picMC"]._x = (770-_parent["varPicWidth"])/2;
_parent._parent["picMC"]._y = (570-_parent["varPicHeight"])/2;
```

12:

```
if(_parent._parent["picMC"]._alpha>=100) {
	gotoAndStop(1);
}
_parent._parent["picMC"]._alpha += 10;
_parent["imgloadbarMC"]._alpha -= 10;
```

13:

```
gotoAndPlay(12);
```

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

## #6 — mirandir, 2006-10-11T07:07Z

I koden så använder du "-=". Detta drar bort du bort 1,2 gånger laddade procent från imgloadbarMCs \_y poistion för varje gång bildruta 9 körs. Det innebär att ju längre preloadern håller på desto längre ner åker filmklippet.

/Mirandir

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

## #7 — Mika3l, 2006-10-13T21:17Z

Nu funkar det ju utmärkt! Hade ju tänkt en aning fel där med sista grejen, va ju lätt att lösa! Tack för hjälpen! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/152308-problem-med-preloader
