Avatar billede baitianlong Nybegynder
14. februar 2002 - 01:26 Der er 13 kommentarer og
1 løsning

Simpel scripting med tid !!!

Jeg har lavet et meget enkelt script til en tæller, men hvordan får jeg den til at tælle langsommere / hurtigere (uden at ændre frameraten) ?


onClipEvent(load) {
antal = 10000 + int(Math.random()*10001);
}
onClipEvent(enterFrame) {
_root.tekst = "Antal: "+antal
antal = antal+1;
}



-Ovenstående virker jo fint (hurra), så her kom mit næste forsøg (lad nu være at grine)...



onClipEvent(load) {
antal = 10000 + int(Math.random()*10001);
tid = new date();
start = tid.getSeconds();

function pause() {
slut = start+5;
if (start=slut) {
antal = antal+1;
}
}
}

onClipEvent(enterFrame) {
_root.tekst = "Tal: "+antal;
pause();
}


-Så var det meningen at der skulle gå 5 sekunder mellem hvert tal ! Det er et skodscript, og et af de første jeg laver selv. -Hvad er der galt ??
Avatar billede lingoman Nybegynder
14. februar 2002 - 17:20 #1
Her opdateres dit tal hver 5. sekund

onClipEvent(load) {
  antal = 10000 + int(Math.random()*10001);
  startTime = getTimer();
  pauseDuration = 5*1000;  //5 sek mellem nyt output
}
onClipEvent(enterFrame) {
  _root.tekst = "Antal: "+antal
  newTime = getTimer();
  if (newTime > startTime + pauseDuration) {
          antal = antal+1;
          startTime = newTime; //reset
  }
}

mvh geo
Avatar billede baitianlong Nybegynder
14. februar 2002 - 23:51 #2
Dit script virker fint, så du får naturligvis points'ne, men jeg har lige et tillægsspørgsmål:

Hvis nu, der skal gå et tilfældigt antal sekunder (mellem 1 og 5) mellem hvert tal den tæller, således at

den tæller - der går f.eks 3 sekunder
den tæller - der går f.eks 1 sekund
den tæller - der går f.eks 4 sekunder

hvordan gør jeg så det ?

Dette virker ikke: (hvorfor ikke ?)

onClipEvent(load) {
antal = 300000 + int(Math.random()*300000);
startTime = getTimer();
}

onClipEvent(enterFrame) {
_root.tekst = "Antal: "+antal
newTime = getTimer();
  if (newTime > startTime + (1+int(Math.random()*6)) {
          antal = antal+1;
          startTime = newTime; //reset
  }
}
Avatar billede baitianlong Nybegynder
14. februar 2002 - 23:53 #3
OK der manglede lige en parantes-slut, men du kan se hvor jeg vil hen !!
Avatar billede lingoman Nybegynder
14. februar 2002 - 23:55 #4
er det pauserne i mellem tallene du vil kunne variere ?
Går i seng om et minut så skynd dig :)
Avatar billede baitianlong Nybegynder
14. februar 2002 - 23:58 #5
Det skal være en tilfældig pause på mellem 1 og 5 sekunder mellem hver gang den tæller... Og en ny tilfældig pause næste gang, så den tæller "ustabilt"
Avatar billede lingoman Nybegynder
14. februar 2002 - 23:59 #6
Jeg satser på at det er pauserne du ønsker skal være random
onClipEvent(load) {
        antal = 10000 + int(Math.random()*10001);
        startTime = getTimer();
        pauseDuration = 5*1000;  //5 sek mellem nyt output
}
onClipEvent(enterFrame) {
        _root.tekst = "Antal: "+antal
        newTime = getTimer();
        if (newTime > startTime + pauseDuration) {
                  antal = antal+1;
                  pauseDuration = random(10000);
                  startTime = newTime + pauseDuration; //reset
        }
}
Avatar billede baitianlong Nybegynder
15. februar 2002 - 00:00 #7
Den skal "finde på" en ny pauseDuration hver gang den tæller 1 tal, som jeg har prøvet at programmere ovenfor...
Avatar billede lingoman Nybegynder
15. februar 2002 - 00:02 #8
et til 5 sek



onClipEvent(load) {
    antal = 10000 + int(Math.random()*10001);
    startTime = getTimer();
    pauseDuration = 5*1000;  //5 sek mellem nyt output
}
onClipEvent(enterFrame) {
      _root.tekst = "Antal: "+antal
      newTime = getTimer();
      if (newTime > startTime + pauseDuration) {
          antal = antal+1;
          pauseDuration = 1000 + random(4000);
          startTime = newTime + pauseDuration; //reset
      }
}
Avatar billede baitianlong Nybegynder
15. februar 2002 - 00:03 #9
OK. Den er der !!! Godnat og tak for hjælpen !
Avatar billede lingoman Nybegynder
15. februar 2002 - 00:04 #10
tak for point og god nat :)
Avatar billede baitianlong Nybegynder
15. februar 2002 - 00:20 #11
Der er faktisk en lille fejl i dit sidste script (tsk tsk tsk..)

(o;

nu skal der da kun stå:

if (newTime > StartTime) {

-Ellers fordobles pauseDuration !!!. Men mange tak for lidt lærdom.. (Det er sgu da smart at man kan skrive random(4000) i stedet for int(Math.random()*4000), hvorfor skriver de ikke den simple version i bøger og tutorials.)
Avatar billede baitianlong Nybegynder
15. februar 2002 - 00:26 #12
Nå ja ok, hvis man fjerner den, så tæller den selvfølgelig lige en hurtig gang først -når den starter. Hmmm
Avatar billede lingoman Nybegynder
15. februar 2002 - 00:39 #13
Det har du skam ret i :)

onClipEvent(load) {
      antal = 10000 + int(Math.random()*10001);
      startTime = getTimer();
      pauseDuration = 5*1000;  //5 sek mellem nyt output
}
onClipEvent(enterFrame) {
      _root.tekst = "Antal: "+antal
      newTime = getTimer();
      if (newTime > startTime + pauseDuration) {
            antal = antal+1;
            pauseDuration = 1000 + random(4000);
            startTime = newTime ; //reset
      }
}

nu skulle den være i orden !
Avatar billede baitianlong Nybegynder
15. februar 2002 - 01:15 #14
Hov burde du ikke være i seng  (((o;

-Nåå ja vi fjerner den dér, i stedet for !!

Anyway... tak igen
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