Avatar billede kgeee Nybegynder
28. marts 2005 - 16:16 Der er 7 kommentarer og
1 løsning

Random funktion igen

Jeg har før spurgt på en random funktion, som jeg også fik stykket sammen. Men der er en fejl i nedenstående script. Der skal en clear timer funktion ind. Ellers bliver de to movieclip spillet med samme interval. Jeg har fået hjælp før, men jeg blev ved med at få fejl. Nogen der har et bud på hvordan man indsætter en clear timer funktion, så der bliver udregnet en ny random tid for næste gang movieclippet skal spilles?

function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.round(Math.random()*(max-min))+min;
  return randomNum;
}

randomtid = randRange(30000, 100000);
randomtid2 = randRange(30000, 100000);




function callback1() {
        trace("interval called");
        trace(randomtid);
        _root.whole.wholeclip.fly1.play();
        randomtid = randRange(30000, 100000);
}

function callback2() {
        trace("interval called");
        trace(randomtid);
        _root.whole.wholeclip.fly2.play();
        randomtid = randRange(30000, 100000);
}

setInterval( callback1, randomtid  );
setInterval( callback2, randomtid  );
Avatar billede barklund Nybegynder
28. marts 2005 - 16:20 #1
Det kan vist gøres som:

function randRange(min, max) {
  return Math.round(Math.random()*(max-min+1))+min;
}
function callback1() {
        _root.whole.wholeclip.fly1.play();
        clearInterval(interval1);
        setInterval(callback1, randRange(30000, 100000));
}
function callback2() {
        _root.whole.wholeclip.fly2.play();
        clearInterval(interval2);
        setInterval(callback2, randRange(30000, 100000));
}
var interval1 = setInterval( callback1, randRange(30000, 100000));
var interval2 = setInterval( callback2, randRange(30000, 100000));

:)

--
Morten Barklund
Avatar billede kgeee Nybegynder
28. marts 2005 - 16:24 #2
Yes, det var same måde jeg gjorde det på sidste gang. Men jeg får følgende fejl når jeg indsætter koden:

**Error** Symbol=baggrund, layer=lampe action, frame=1:Line 2: Syntax error.
      return Math.round(Math.random()*(max-min+1))+min;

**Error** Symbol=baggrund, layer=lampe action, frame=1:Line 3: Unexpected '}' encountered
    }

Forstår det ikke helt.
Avatar billede barklund Nybegynder
28. marts 2005 - 16:30 #3
Hm, virker da fint for mig.

Jeg kan copy-paste det ind i både Flash MX 2004 og Flash MX uden problemer.

Prøv lige igen ;)
Avatar billede kgeee Nybegynder
28. marts 2005 - 16:38 #4
Yes, den kommer med samme fejl. Den eksporterer til flash player 7 og actionscript 2.0. Men random funktionen virkede med den første kode. Ved ikke om den kan bruges istedet? M.h.t. den tuborg klamme der er for meget, eller uventet  kan jeg ikke se hvorfor den ikke skulle være der... Jeg har ikke andre frameactions i den frame hhvor scriptet ligger.
Avatar billede barklund Nybegynder
28. marts 2005 - 16:40 #5
Sikker på, at du ikke har noget andet scriupt i framen, der muligvis laver fejlen? For det virker altså fint - også i FP7-AS2. Og grunden til, at jeg fjernede strong typing fra denne funktion var, at da du ikke bruger det nogle andre steder alligevel, så er der ingen grund til at have det med.
Avatar billede kgeee Nybegynder
28. marts 2005 - 16:53 #6
Har lige testet den på en pc (sidder normalt ved en mac), og her er ingen problemer hvis jeg bare copy/paster direkte fra denne side. Men hvis jeg sender filen over jeg har cpoy/pastet fra, er der de samme problemer. Meget underligt. Men tak for hjælpen, det virker nu. Gi' mig et svar, så får du nogle point.
Avatar billede barklund Nybegynder
28. marts 2005 - 17:22 #7
Finfin :)
Avatar billede barklund Nybegynder
29. marts 2005 - 10:13 #8
Tark for points :)
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