Avatar billede sysop Juniormester
20. oktober 2002 - 16:04 Der er 8 kommentarer og
1 løsning

Preload "!"(#!#!#

Jeg kan bare ikke finde ud af at lave en ganske simpel preloader med en bar der indikere hvor langt vi er kommet i loadingen.

Jeg har i sidste frame lavet en
loadMovieNum("movie.swf", 0);

som den skal preloade på!!
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 17:03 #1
Skriv dette på et movieclip i en ny film med kun to frames:

onClipEvent(load) {
_root.loadbar._xscale = 0;
loadMovieNum("movie.swf", 1);
_level1.stop();
}
onClipEvent(enterFrame) {
hentet = _level1.getBytesLoaded();
total = _level1.getBytesTotal();
pro = Math.round((hentet/total)*100);
_root.loadbar._xscale = pro;
_root.procent = pro + " % loaded";
if(pro >= 100) {
  _level1.play();
  _root.nextFrame();
}
}

I denne film (som kun er en preloader, lægger du en bar/et movieclip med instancenavn "loadbar" og et dynamisk tekstfelt med variablen "procent". Disse ting er i frame 1, hvor der også står stop(); ... i frame to står der bare stop(); der er ingen grafik, eller noget...

I "movie.swf" skriver du sto(); i 1. frame.

Så skulle det spille, som du ønsker !!!

(o;
Avatar billede sysop Juniormester
20. oktober 2002 - 18:18 #2
Hej legende.

Jeg må være en stor idiot for det virker sku ikke for mig.

Jeg har lavet et mc i frame 1 med en statusbar (hvilket jeg også har givet dit scipt) + kaldet den loadbar i instance + givet den stop i frame 1

frame 2 (stop)
Den loader godt nok min movie ind men den viser på ingen måde en preloader!!! Hvad i h... gør jeg galt?
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 18:31 #3
Der skal stå stop() i frame 1 i hovedfilmen (der hvor preloaderen er). Den går til den tomme frame 2, når filmen er indlæst ovenpå !!

Hvis du vil have en preloader på filen, kan du evt. sende mig den. Jeg kan også lave en preloader som seperat fil til dig. j@legende.dk
Avatar billede sysop Juniormester
20. oktober 2002 - 18:45 #4
Har sendt den jeg har lavet til dig!
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 19:38 #5
Den nåede ikke at finde filmen i (load), så jeg har sat en frametæller på til 50, og flyttet loadMovieNum ned i enterFrame

onClipEvent(load) {
    frame = 0;
    _xscale = 1;
}
onClipEvent(enterFrame) {
    if(!nr2) {
            loadMovieNum("movie.swf", 1);
            nr2 = true;
    }
    frame++;
    _level1.stop();
    _level1._visible = false;
    hentet = _level1.getBytesLoaded();
    total = _level1.getBytesTotal();
    pro = Math.round((hentet/total)*100);
    _root.procent = pro + " %";
    _xscale = pro;
    if(pro >= 100 && frame > 50) {
        _level1._visible = true;
        _level1.play();
        _root.nextFrame();
    }
}

Nu virker den fint. Se den i action her:

http://www.legende.dk/eksperten/Preloader.html

(O;
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 19:42 #6
Du havde i øvrigt skrevet variabelnavnet det forkerte sted i tekstfeltets property !! Det skal stå ved 'var:' ikke ved instancenavnet (o;

Hvis du smider ovenstående script på loadbaren, kører det !! Men du SKAL køre den fra nettet, for at se det. Når du kører den lokalt/TEST MOVIE, preloader den bare preloaderen, og smækker filmen ind fra din harddisk !!
Avatar billede sysop Juniormester
20. oktober 2002 - 19:55 #7
Så kører det sku bare. Men lige et par tillægsspørgsmål. Hvad vil det sige at den ikke nåede at finde filmen?
Den tæller du har sat på, er det en der forsinker indlæsning af "movie"?

Ellers skal du have mange tak for hjælpen endnu engang!
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 20:01 #8
Min teori: Den bliver i load sat til at loade filmen "movie.swf" ind. I første frame sammenligner den hvad den har hentet (getBytesLoaded) med hvad den skal hente (getBytesTotal) men i første frame, ved den endnu ikke hvor stor filmen er, og hentet er så 0, mens total også er nul... "0/0*100 = 100" - og filmen kører videre. Jeg har sat en frametæller på, som du kan se lægger den en til variablen frame (frame++) i hver frame, og i min if sætning skriver jeg at pro >= 100 og frame > 50, dvs. den når at fastslå størrelsen, inden den kører videre... Eneste ulempe, er at hvis filmen er cached, altså hvis de besøgende har den liggende i temporary internet files, vil scriptet stå og vente på at frame > 50 (Med en framerate på 30 er det jo også kun 1,7 sekunder - så det går nok)

(o; Håber det var brugbart
Avatar billede baitianlong Nybegynder
20. oktober 2002 - 20:03 #9
Lige een kommentar mere. _xscale bevæger sig udfra krydset / centrum i movieclippet, så hvis du vil have den til at vokse fra venstre til højre, skal du flytte den blå bar hen til højre for krydset i dens movieclip
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