Avatar billede rasmusmj Nybegynder
07. november 2007 - 11:08 Der er 1 kommentar

Random playlist af loadede eksterne .swf movies

Hejsa...

Jeg har en logo.swf fil, som jeg bruger som en main movie hvori jeg loader eksterne swf filer ind.

Denne består i alt af 3 frames:

------------------------------------------------------------------
Actionscript Frame 1:
stop();
loadMovie("logo_start.swf", _root.movieTarget);
function timepause() {
gotoAndStop(2);
clearInterval(ID);
}
ID = setInterval(timepause, (10000));

------------------------------------------------------------------
Actionscript Frame 2:
stop();
filename = ["logo_ani2.swf", "logo_ani3.swf", "logo_ani4.swf", "logo_ani5.swf", "logo_ani6.swf", "logo_ani7.swf", "logo_ani8.swf", "logo_ani9.swf", "logo_ani10.swf", "logo_ani11.swf", "logo_ani12.swf", "logo_ani13.swf", "logo_ani14.swf", "logo_ani15.swf", "logo_ani16.swf", "logo_ani17.swf", "logo_ani18.swf", "logo_ani19.swf", "logo_ani20.swf"]; 
i = filename.length;
k = Math.floor(Math.random()*i);
loadMovie(filename[k], _root.movieTarget);
function timepause() {
gotoAndPlay(3);
clearInterval(ID);
}
ID = setInterval(timepause, (25000));

------------------------------------------------------------------
Actionscript Frame 3:
stop();
loadMovie("logo_ani.swf", _root.movieTarget);
function timepause() {
gotoAndPlay(2);
clearInterval(ID);
}
ID = setInterval(timepause, (15000));

------------------------------------------------------------------

Forklaring:
Den starter ud med at loade en default logo (logo_start.swf). Efter 10 sek går den til frame 2, hvor den laver  en Math.random og loader en random logoanimation (f.eks. logo_ani14). Efter 25 sek går den tilbage til det defaulte logo (nu kaldet logo_ani.swf (anderledes fade-in effekt i starten end logo_start.swf)). Herefter looper den tilbage til frame 2 og begynder forfra.

Problemstilling:
Ønsket og problemstillingen for mig nu er, at lave en random playlist af logo_ani2-20. Frem for den løsning jeg har nu, hvor den laver en Math.random. Grunden til dette er jeg vil sikre mig at brugeren af mit site ikke kommer til at se samme logo animation, før den har været hele playlisten igennem.

Min ide var at den tager og ligger alle filerne i random rækkefølge ned i en playlist, hvor de kun optræder en gang, og så afspiller den filmene fra playlisten. Når den har afspillet alle film, starter den forfra.


Håber der er nogen derude der har en mulig løsning på dette

PÅ forhånd tak for hjælpen
Avatar billede rookieboy Nybegynder
09. november 2007 - 10:27 #1
Du skal bare shuffle dit array, så rækkefølgen bliver tilfældig, og så afvikle arrayet i sekvensiel rækkefølge.

Du skal bare lave en funktion, der shuffler dit array.

Array.prototype.shuffle=function(){
  for(i=0;i<this.length;i++){
      var tmp=this[i];
      var randomNum=random(this.length);
      this[i]=this[randomNum];
      this[randomNum]=tmp;
  }
}



// USAGE:

arr1=["a","b","c","d","e"];
arr1.shuffle();
trace(arr1);

Denne kode er fundet her:
http://www.sephiroth.it/proto_detail.php?id=149
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