Avatar billede kantoraza Nybegynder
30. november 2006 - 00:12 Der er 6 kommentarer og
1 løsning

Import af billede og preloader

Hej!

Jeg har søgt lang tid rundt på nettet, men giver nu op og spørger, hvordan jeg får dette til at virke:

http://www.mcr-music.dk/07_load_billede.swf

Hensigten er selvfølgelig, at billedet skal preloades glidende, så man kan se, hvor i processen indloadningen er.

.fla filen er her: http://www.mcr-music.dk/07_load_billede.zip

På forhånd mange tak!
Avatar billede kalleballe Nybegynder
30. november 2006 - 12:55 #1
Du kan ikke se billedet mens det loader, - det skal være loadet 100 procent før at du kan se det, - men du kan måle hvor langt det er kommet og du kan lave det clip der holder dit billede gennemsigtigt, - når billedet så er loadet 100 procent kan du lave en alpha fade på billedet så det ikke kommer så kontant frem som nu.


vh

Kalleballe
Avatar billede kantoraza Nybegynder
30. november 2006 - 22:11 #2
så har jeg vist formuleret mig uklart. Jeg forestiller mig følgende:

En procesbar på en hvid skærm, der tæller op til hundrede.
EFTER procesbaren har nået 100% kommer billedet frem.

Ligesom eksemplet, jeg har lagt ud. Bare hvor det er muligt at se billedet "loade" med en procesbar.
Avatar billede kalleballe Nybegynder
01. december 2006 - 11:15 #3
var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var image:MovieClip = container.createEmptyMovieClip("image", container.getNextHighestDepth());

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
    trace(target + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal);
}
mcLoader.addListener(listener);
mcLoader.loadClip("http://www.w3.org/Icons/w3c_main.png", image);

var interval:Object = new Object();
interval.id = setInterval(checkProgress, 100, mcLoader, image, interval);

function checkProgress(mcLoader:MovieClipLoader, image:MovieClip, interval:Object):Void {
    trace(">> checking progress now with : " + interval.id);
    var progress:Object = mcLoader.getProgress(image);
    trace("bytesLoaded: " + progress.bytesLoaded + " bytesTotal: " + progress.bytesTotal);
    if(progress.bytesLoaded == progress.bytesTotal) {
        clearInterval(interval.id);
    }
}
Du kan så knytte en loadbar til checkProgress funktionen.
Ganske enkelt ved at lave en 100 pixel width bare med en 100 pixel maske over. Masken skal så stå helt til venstre for baren, - og så ellers bare flytte sin x værdi i takt med at procenterne stiger i checkProgress funktionen.

vh

KalleBalle
Avatar billede kalleballe Nybegynder
01. december 2006 - 11:18 #4
Procenten regner du ud således:
_global.percent = Math.floor (progress.getBytesLoaded () / progress.getBytesTotal () * 100)

og så minLoadBarMaske._x = _global.percent


Altså noget i den stil, - når så procent = 100 så kan du sætte barens visibility til false.

vh

KalleBalle
Avatar billede kalleballe Nybegynder
01. december 2006 - 11:19 #5
(ps. denne løsninger virker kun med flash 8++)
Avatar billede kantoraza Nybegynder
11. februar 2007 - 12:42 #6
Arhh. det er dumt. Jeg bruger MX.

Men læg et svar. Så får du point og andre kan få gavn af dit svar :)
Avatar billede kalleballe Nybegynder
11. februar 2007 - 18:45 #7
Det er helt ok, - du kan da stadig bruge måden at udregne de loadede procent ;)

vh

KalleBalle
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester