Avatar billede alpapa Nybegynder
01. november 2001 - 10:27 Der er 16 kommentarer og
1 løsning

Timer

Hej alle flashere - har et spørgsmål ang. timer i Flash. Er ved at lave en slags enarmet tyveknægt men kan ikke finde ud af hvordan jeg får de 3 hjul til at stoppe vilkårligt i forhold til hinanden. Håber I kan hjælpe med lidt actionscript ;-)
Mvh alpapa
http://www.whyweb.subnet.dk
Avatar billede nikolajdu Nybegynder
01. november 2001 - 10:29 #1
Hvordan har du lavet hjulene? Er det bare lange movieClip?
Avatar billede alpapa Nybegynder
01. november 2001 - 10:30 #2
Ja - med mask
Avatar billede nikolajdu Nybegynder
01. november 2001 - 11:01 #3
Lav et ligegyldigt movieclip og placér det helt uden for stage, så det ikke er synligt. Det skal kun bruges til at tælle med. Højreklik, vælg actions og indsæt den her:

onClipEvent (enterFrame) {
    if (_root.maa_jeg) {
        _root.tid = getTimer ();
        if (_root.tid>=2000 && _root.tid<4000) {
            _root.clip.gotoAndStop(2);
        } else if (_root.tid>=4001 && _root.tid <6000) {
            _root.clip.gotoAndStop(3);
        } else if (_root.tid>=6001 &&_root.tid <8000) {
            _root.clip.gotoAndStop(4);
        }
    }
}

Lav så en knap, der sætter det hele i gang.

on (release) {
    _root.maa_jeg = true;
}

Nu vil clippet \"clip\" gå til frame 2,3,4 efter henholdsvis 2,4,6 sekunder. Du ændre bare \"clip\" til navnet på dine movieClips. Altså clip1, clip2, clip3 afhængigt af hvor mange sekunder der er gået.

/Nikolaj
Avatar billede alpapa Nybegynder
01. november 2001 - 11:04 #4
Tusinde tak Nikolaj - du er en sand mester ;-))
Avatar billede alpapa Nybegynder
01. november 2001 - 13:02 #5
Jeg ved ikke om du stadig er med mig, men hvordan kan det være at man skal opdatere siden for at få den til at virke flere gange i streg?
alpapa
Avatar billede nikolajdu Nybegynder
01. november 2001 - 13:51 #6
Det er fordi du skal nulstille variablerne igen. :-)
Avatar billede nikolajdu Nybegynder
01. november 2001 - 13:51 #7
F.eks bliver maa_jeg sat til true når du klikker på knappen. Den skal sættes til false igen, før du kan lave tricket igen :-)
Avatar billede alpapa Nybegynder
01. november 2001 - 13:54 #8
Okay - ved du hvordan jeg gør det?
Avatar billede nikolajdu Nybegynder
01. november 2001 - 13:59 #9
Da vi kun vil give muligheden for false, når knappen allerede er klikket på, så kan vi sætte den ind her:

onClipEvent (enterFrame) {
    if (_root.maa_jeg) {
        _root.maa_jeg = false;
        _root.tid = getTimer();
        if (_root.tid>=2000 && _root.tid<4000) {
            _root.clip.gotoAndStop(2);
        } else if (_root.tid>=4001 && _root.tid<6000) {
            _root.clip.gotoAndStop(3);
        } else if (_root.tid>=6001 && _root.tid<8000) {
            _root.clip.gotoAndStop(4);
        }
    }
}


Alternativt kan du for at sikre at folk ikke bare \"klikker løs\" på knappen sætte den ind i den frame i movieclippet, der gåes til istedet.
Avatar billede alpapa Nybegynder
01. november 2001 - 14:05 #10
Jeg har ændret din kode fra gotoAndStop(1/2/3) til Stop(), for at gøre det så tilfældigt som muligt, så jeg ved ikke hvor movieClipet stopper ;-)
Men jeg prøver at sætte koden ind i movieClipet _root.tid
alpapa
Avatar billede nikolajdu Nybegynder
01. november 2001 - 14:12 #11
Du kan ihvertilfald som en start indsætte den her:

    if (_root.maa_jeg) {
        _root.maa_jeg = false;

Avatar billede alpapa Nybegynder
01. november 2001 - 14:15 #12
Skal det sættes ind i _root.tid som ligger undenfor stage eller skal det ind i knappen?
Avatar billede nikolajdu Nybegynder
01. november 2001 - 14:19 #13
det skal ikke ind på knappen, så skal det skrives om. Det kan ikke betale sig.

DEt skal ind efter tjekket if (maa_jeg) -

Altså hvis \"du må\" så sætter vi udføre koden og så må du ikke før du trykker på knappen, der siger du må igen.
Avatar billede alpapa Nybegynder
01. november 2001 - 14:25 #14
Øh, det kan min kyllinge-hjerne ikke forstå ;-)
Dette er mit ActionScript i movieClip _root.tid, det indeholder 2 frames og ligger udenfor stage.
Er det her et eller andet sted du vil ligge det ind?

onClipEvent (enterFrame) {
    if (_root.maa_jeg) {
        _root.tid = getTimer();
        if (_root.tid>=2000 && _root.tid<3000) {
            _root.jackpot.wheel1.Stop();
        } else if (_root.tid>=3001 && _root.tid<4000) {
            _root.jackpot.wheel2.Stop();
        } else if (_root.tid>=4001 && _root.tid<5000) {
            _root.jackpot.wheel3.Stop();
        }
    }
}
Avatar billede nikolajdu Nybegynder
01. november 2001 - 14:31 #15
Har desværre ikke mere tid lige nu. Kigger forbi igen senere. :-)
Avatar billede kragekjaer Praktikant
04. juni 2002 - 03:20 #16
skriv iøvrigt Stop med småt altså "stop();"
Avatar billede barklund Nybegynder
04. juni 2002 - 13:01 #17
På dit movieclip:

onClipEvent (enterFrame) {
    if (_root.maa_jeg) {
        _root.tid = getTimer()-_root.starttid;
        if (_root.tid>=2000 && _root.tid<3000) {
            myframe = random(_root.jackpot.wheel1._totalFrames)+1
            _root.jackpot.wheel1.gotoAndStop(myframe);
        } else if (_root.tid>=3001 && _root.tid<4000) {
            myframe = random(_root.jackpot.wheel2._totalFrames)+1
            _root.jackpot.wheel2.gotoAndStop(myframe);
        } else if (_root.tid>=4001 && _root.tid<5000) {
            myframe = random(_root.jackpot.wheel3._totalFrames)+1
            _root.jackpot.wheel3.gotoAndStop(myframe);
            _root.maa_jeg = false;
        }
    }
}

På din startknap:

on(release) {
    _root.starttid = getTimer();
    _root.maa_jeg = true;
}

/Barklund
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