Avatar billede rudestrand Nybegynder
18. maj 2004 - 21:37 Der er 12 kommentarer og
1 løsning

tilfældig rækkefølge af .swf'er eller scener?

Er det muligt at loade .swf'er ind i en hovedmovie i random rækkefølge??
Eller kan man lave en randomrækkefølge af scener i en movie??
Hvis ja, har jeg brug for svar med god forklaring om hvad man gør!
Avatar billede pyroman Nybegynder
19. maj 2004 - 09:16 #1
Hvad vil du helst have? externe swf'er eller scener?
Avatar billede rudestrand Nybegynder
19. maj 2004 - 09:26 #2
Jeg tror at random-scener er  smartest, da jeg så kan nøjes med én lang movie som kan loades i et hug..!?
Avatar billede _k Nybegynder
19. maj 2004 - 11:31 #3
Jeg går ud fra, at du vil loade filmene efter hinanden, men i forskellig rækkefølge?

Så kan du nemlig starte med at blande kortene, eller i dette tilfælde swf'erne (i princippet det samme med scenenavne):

var randomSwfArray = new Array("myFirstFilm","mySecondFilm","myThirdFilm");
randomSwfArray.sort(function(){return random(3)-1;});

...så kan du efterfølgende kalde den enkelte film med f.eks.:
loadMovie(eval(randomSwfArray[0] + ".swf"),mc); // Den kalder så den første film (som kan være hvilken som helst)
loadMovie(eval(randomSwfArray[1] + ".swf"),mc); // kalder så den næste

.. i princippet, skal du så blot sørge for at kalde den næste film, når den aktuelle er slut.
Avatar billede rudestrand Nybegynder
19. maj 2004 - 12:33 #4
I princippet det samme med scener.... ? - men kunne du også give et eksempel på sådan et script?
Avatar billede _k Nybegynder
19. maj 2004 - 12:59 #5
Nu er jeg notorisk modstander af at bruge scener (de er faktisk et levn fra dengang man ikke vidste bedre). Men i princippet kan du udskifte loadMovie med gotoAndStop():

gotoAndStop(randomArray[0]);
gotoAndStop(randomArray[1]);

..hvis jeg skal hjælpe mere, må du uddybe præcis hvad du vil og præcist hvordan og hvornår du vil kalde dine swf'er/scener....
Avatar billede rudestrand Nybegynder
19. maj 2004 - 14:42 #6
okay, jeg har nu heller ikke benyttet mig af dem før, det er fordi jeg laver en quiz hvor hver spørgsmål bliver en "blok" af frames med tweening og knapper, og jeg har først tænkt mig at lave hver blok/spørgsmål til moviescripts, som så - og det er det vigtige - skal alle movieclippene (som er spørgsmålene) komme i en tilfældig rækkefølge hver gang man spiller quizzen.
Det har jeg også fået til at virke i en simpel testversion, men når der kommer tweening med i moviescriptene afspilles animationerne ikke!?
Derfor har jeg tænkt på om jeg kunne benytte mig af scener, som så kom i tilfældig rækkefølge. Jeg er ikke så glad for .swf'er i denne sammenhæng, da de jo så skal loades hvilket tager tid.
(jeg kan vise dig mit script til at loade movieclips i tilfældig rækkefølge, hvis du tror at du kan få movieclippene til at afspille animationer - mc'erne ligger i samme frame og gøres henholdsvis synlige/usynlige og det må være derfor at de ikke "afspilles")
Avatar billede rudestrand Nybegynder
19. maj 2004 - 14:43 #7
..og det hedder selvfølgelig movieCLIPS!!
Avatar billede _k Nybegynder
19. maj 2004 - 17:03 #8
"movieclips", så er jeg med ;)

Lyder som om din fremgangsmåde er helt perfekt. Jeg ville også til hver en tid lave et mc for hver del, eller måske endnu bedre, et enkelt mc hvis indhold bliver skiftet dynamisk.
Men holder vi os til din oprindelige ide, så tror jeg jeg skal se din fil, for at lure hvad der går galt. Kan du lægge den op nogen steder? Eller hvis den alligevel primært består af actionscript, så smid bare koden her.
Avatar billede rudestrand Nybegynder
20. maj 2004 - 16:15 #9
her er koden, i første frame:
points = 0;
nummer = 0;
talarray = new Array(10);
function putInd(tal) {
    plads = random(talarray.length);
    if(talarray[plads] == null)
        talarray[plads] = tal;
    else
        putInd(tal);
}
for(i = 1; i <= talarray.length; i++)
    putInd(i);
for(i = 1; i <= 10; i++) {
    _root["movieclip" + i]._visible = false;
}

function nextQuestion() {
  _root.nummer++;
  if(_root.nummer >= talarray.length) {
    _root.gotoAndStop("score"); }
   
  if(_root.points >= 25){
  _root.gotoAndStop("highscore");
  }
 
  else {
    //gør de andre movieclips usynlige og viser det næste
    for(i = 1; i <= 10; i++) {
      _root["movieclip" + i]._visible = false;
    }
    _root["movieclip" + talarray[_root.nummer]]._visible = true;
  }
}

og her er så lagt 10 mc'er oven på hinanden i 2. frame hvor der er dette script:
stop();

(movieclip10)._visible = false;
(movieclip9)._visible = false;
(movieclip8)._visible = false;
(movieclip7)._visible = false;
(movieclip6)._visible = false;
(movieclip5)._visible = false;
(movieclip4)._visible = false;
(movieclip3)._visible = false;
(movieclip2)._visible = false;
(movieclip1)._visible = false;

visPoints=_root.points;

Det virker sådan at mc'erne vises i tilfældig rækkefølge, men ikke hvis der er animationer (tween's) i, så vises kun den sidste frame i mc'erne!!??
Det er derfor jeg er ude i scener eller .swf'er, da jeg så er sikker på at timelinen bliver afspillet med div. tweens...!
Avatar billede rudestrand Nybegynder
20. maj 2004 - 16:26 #10
jeg må nok lige tilføje at jeg tweener i tidslinien, og ikke med actionscripts, da jeg ikke er så øvet endnu - scriptet ovenfor har taget MEGET lang tid for mig at få tilat fungere, så jeg håber ikke at jeg behøver at lave for meget om i det!!??
Avatar billede _k Nybegynder
24. maj 2004 - 14:47 #11
der kom lige en ferie i vejen for en hurtig besvarelse. Jeg har bikset nedenstående sammen:

points = 0;
nummer = 0;
talarray = new Array(10);

var randomArray = new Array("mc1","mc2","mc3","mc4","mc5","mc6","mc7","mc8","mc9","mc10");
randomArray.sort(function(){return random(3)-1;});

function nextQuestion() {
    trace("Omgang: " + _root.nummer);
  _root.nummer++;
  if(_root.nummer >= randomArray.length) {
    _root.gotoAndStop("score"); }
          if(_root.points >= 25){
              _root.gotoAndStop("highscore");
  }
 
  else {
    //gør de andre movieclips usynlige og viser det næste
    for(i = 1; i <= 10; i++) {
      _root["mc" + i]._visible = false;
    }
    _root[randomArray[_root.nummer]]._visible = true;
    _root[randomArray[_root.nummer]].gotoAndPlay(1);
  }
}

Det giver dig i hvert fald mc'erne i tilfældig rækkefølge, og burde også løse problemet med dine tweeninger. Prøv det ;)
Avatar billede rudestrand Nybegynder
25. maj 2004 - 11:04 #12
Jeg takker, og håber at du har haft en god ferie! - smider du et svar, så gir' jeg points ;-)
Avatar billede _k Nybegynder
25. maj 2004 - 11:07 #13
selv tak - og ja, ferier kan man ikke få for mange af ;)
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