Avatar billede wilweb Nybegynder
28. juni 2003 - 16:24 Der er 4 kommentarer og
1 løsning

loadMovie i bestemt rækkefølge

Jeg loader 9 swf filer (film1.swf til film9.swf) ind i nogle movieclips (mc_holder1 til mc_holder9)

film1 hentes ind i mc_holder1, film2 ind i mc_holder2 osv. med: loadMovie("film1.swf", "mc_holder1");

hver filmX.swf har en preloader og her kommer så mit spørgsmål:

Hvordan får jeg det lavet så film1.swf loades ind først og når den er færdig så startes film2.swf med at blive loadet ind, så nummer 3, 4, 5 osv.?
Avatar billede baitianlong Nybegynder
29. juni 2003 - 00:30 #1
Du kan f.eks gøre det ved at lægge dette script i roden:

createEmptyMovieClip("loader", 0);
loader.onEnterFrame = function() {
  if(!film1) {
      loadMovie("film1.swf", "mc_holder1");
      if(mc_holder1.getBytesLoaded() == mc_holder1.getBytesTotal()) film1 = true;
  } else if(!film2) {
      loadMovie("film2.swf", "mc_holder2");
      if(mc_holder2.getBytesLoaded() == mc_holder2.getBytesTotal()) film2 = true;
  } else if(!film3) {
      loadMovie("film3.swf", "mc_holder3");
      if(mc_holder3.getBytesLoaded() == mc_holder3.getBytesTotal()) film3 = true;
  } ... og så videre ... (o;

...det burde løse den sag
Avatar billede wilweb Nybegynder
29. juni 2003 - 12:24 #2
Det ser fint ud legende.dk.
Jeg må straks prøve det, jeg vil jo gerne forså hvorfor du gør som du gør og ikke bare copy & paste. Derfor stiller jeg måske nogle mærkelige spm som jeg håber er OK.

Hvorfor laver du et tomt mc? createEmptyMovieClip("loader", 0);

Jeg kan godt forstå hvad der sker i den anden if ting
( if(mc_holder1.getBytesLoaded() == mc_holder1.getBytesTotal()) film1 = true;
)

men, hvad tester du i den første? if(!film1) {
Hvad betyder !film ?
Avatar billede baitianlong Nybegynder
29. juni 2003 - 22:33 #3
Jeg laver et tomt movieclip bare for at lægge script på det, som skal afvikles i hver frame. I flash 5 lavede jeg (og alle andre) ofte movieclips, bare som holdere til scripts og lagde dem udenfor stagen. Men i MX kan man jo scripte det i hovedtidslinien, det er smart (o;

Den der !film1 (not film1) betyder at jeg laver en boolean variabel, der enten er true eller false, som udgangspunkt er den false, og når filmen er loaded ind er den true, og scriptet går videre til næste betingelse
Avatar billede baitianlong Nybegynder
30. juni 2003 - 01:35 #4
Hvis det ikke virker optimalt, kan der sættes en lille pause ind før den checker om filmen er loaded, så den får et par sekunder til at starte indlæsningen...

createEmptyMovieClip("loader", 0);
loader.onEnterFrame = function() {
  frame++;
  if(!film1) {
      loadMovie("film1.swf", "mc_holder1");
      if(mc_holder1.getBytesLoaded() == mc_holder1.getBytesTotal() && frame > 30) {
        film1 = true;
        frame = 0;
    }
  } else if(!film2) {
      loadMovie("film2.swf", "mc_holder2");
      if(mc_holder2.getBytesLoaded() == mc_holder2.getBytesTotal() && frame > 30) {
      film2 = true;
      frame = 0;
      }
  } ...og så videre...(o; {

Det kan godt være det er en god ide ?! (O;
Avatar billede wilweb Nybegynder
19. juli 2003 - 17:06 #5
det virker jo meget godt med en lille pause imellem hver loading.

Hvordan kunne man udbygge det sådan at man kan se i % hvor langt man er kommet med at loade de 3 film (film1 , film2 og film3)
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