Avatar billede lulc Nybegynder
21. januar 2005 - 21:03 Der er 10 kommentarer

Preloader afhængig af swf. størrelse?

Jeg er ved at lave en hjemmeside: www.youthnited.dk/mocca/index.htm

Det er et band der ska' rundt og spille på caféer.
Men den kommer til at fylde, og jeg skal lave en preloader.
www.kims.dk er der en palme som preloader der bliver fyldt med farve. Det vil jeg også have, bare med et guitarmotiv i stedet. Hvad er koden?
(Jeg undskylder hvis jeg har placeret mit spørgsmål det forkerte sted)

-Lucas!
Avatar billede nikolajdu Nybegynder
21. januar 2005 - 23:18 #1
Du laver en almindelig preloader alá :

this.createEmptyMovieClip("nyfilm", 1);
nyfilm.loadMovie("filduvilloade.swf");

this.onEnterFrame = function() {
    if (nyfilm.getBytesLoaded() == nyfilm.getBytesTotal() && nyfilm.getBytesTotal != undefined) {
        ialt = Math.round((nyfilm.getBytesTotal()/1024));
        hentet = Math.round((nyfilm.getBytesLoaded()/1024));
        procent = int(hentet/ialt*100);
        guitar.gotoAndStop(procent);
    } else {
        // slut gør noget nu
        this.onEnterFrame = false;
    }
};

Guitar clippet laver du så således at det indeholder 100 frames - hvilket selvfølgelig svarer til en procentdel. Over de 100 frames laver du så en tweenet maske (læs mere om motion tween i hjælpefilen den forklarer det bedst) der afdækker eller farver din guitar.

Det er ikke specielt svært men en fin effekt.

/Nikolaj :))
Avatar billede lulc Nybegynder
22. januar 2005 - 17:25 #2
Hej.. Undskyld, men jeg er meget ny inden for flash-script.. Selvom det burde være meget nemt.. Men det som du har skrevet, ska' jeg så lave 2 swf filer? Én hvor preloaderen er, og en anden hvor selve indholdet, der skal preloades, er..?
Og hvilke dele af dit script skal jeg rette på for at det passer på mit?

Mange tak,
-Lucas
Avatar billede nikolajdu Nybegynder
22. januar 2005 - 18:10 #3
Jada ;-)

Det er altid en god ting at lave en preloader for sig selv og bagefter en hovelfilm, som loader al content.

Mit script hører til den første del - altså preloaderen.
Avatar billede lulc Nybegynder
23. januar 2005 - 15:30 #4
Okay:)
Men.. Jeg har hovedfilmen der hedder flashindex.htm (hvori swf.'en er)
Når jeg så har preloaderen (preloader.htm), hvad ska' jeg så rette på i dit script?
Undskyld hvis det er lidt besværligt, jeg kan bare ikke få det til at virke.
-Lucas
Avatar billede nikolajdu Nybegynder
23. januar 2005 - 18:23 #5
Du skal ikke lave en flashindex.htm, filen der skal hentes angives du jo her i stedet : nyfilm.loadMovie("filduvilloade.swf");
Avatar billede lulc Nybegynder
25. januar 2005 - 14:51 #6
For neden hvor du skriver: // slut gør noget nu - hvad skal jeg rette dér?
Avatar billede nikolajdu Nybegynder
25. januar 2005 - 15:35 #7
Ikke noget hvis du er tilfreds. Det angiver såmænd bare at filen nu er hentet.

Du kunne f.eks bruge det til at vise filen, hvis den har været gemt eller gå til den frame der skal starte filen : nyfilm.gotoAndPlay(10);
Avatar billede lulc Nybegynder
30. januar 2005 - 19:00 #8
Jeg har nu gjort følgende;

this.createEmptyMovieClip("flashindex", 1);
flashindex.loadMovie("preloader.swf");

this.onEnterFrame = function() {
    if (flashindex.getBytesLoaded() == flashindex.getBytesTotal() && flashindex.getBytesTotal != undefined) {
        ialt = Math.round((flashindex.getBytesTotal()/1024));
        hentet = Math.round((flashindex.getBytesLoaded()/1024));
        procent = int(hentet/ialt*100);
        guitar.gotoAndStop(procent);
    } else {
        loadMovie ("flashindex.swf", "box");
        this.onEnterFrame = false;
    }
};

-Men preloaderen kører bare i ring?
(Hvad betyder "this.onEnterFrame = false;" i øvrigt?)
Tusind tak for din hjælp..!
Avatar billede nikolajdu Nybegynder
01. februar 2005 - 01:03 #9
this.onEnterFrame = false; // stopper onEnterFrame når alle data er hentet (sparer maskinkraft);

prøv at indsætte et par traces så du kan se hvor den når til og prøv evt. at lave clippet box først:

this.onEnterFrame = function() {
    if (flashindex.getBytesLoaded() == flashindex.getBytesTotal() && flashindex.getBytesTotal != undefined) {
        ialt = Math.round((flashindex.getBytesTotal()/1024));
        hentet = Math.round((flashindex.getBytesLoaded()/1024));
        procent = int(hentet/ialt*100);
trace("så mange procent er der loadet "+procent);
        guitar.gotoAndStop(procent);
    } else {
trace("mor jeg eeeer færdig");
        this.createEmptyMovieClip("box", 1);
        box.loadMovie ("flashindex.swf");
        this.onEnterFrame = false;
    }
};

Nikolaj
Avatar billede lulc Nybegynder
03. februar 2005 - 08:57 #10
Hmm.. Jeg kan simpelthen ik' få det til at virke.
Okay, jeg har 2 swf. filer. En jeg har kaldt preloader, og når den har loadet flashindex.swf skal den vises. Jeg har sat koden i den første frame i preloader.swf, men den kører bare tweenen i ring når jeg prøver den..
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