Avatar billede caleidoscope Nybegynder
04. juli 2006 - 16:35 Der er 4 kommentarer og
1 løsning

KeyUP - hvordan registrerer jeg KeyUP for specifikke taster?

I en onEnterFrame funktion har jeg følgende:

if (Key.getCode() == Key.SPACE)
    {
        var Px = person._x;
        var Py = person._y;
        var ball:MovieClip = attachMovie("pkt","pkt"+i,i);
        ball._x = Px;
        ball._y = Py;
        i = i + 1;
       
Problemet er det, at jeg genererer rigtig mange movieclips hver gang jeg trykker SPACE knappen ned. Jeg vil gerne at der kun bliver genereret ET movieclip hver gang jeg trykker på SPACE knappen.

Hvordan kan jeg sørge for at kun et movieclip bliver genereret hver gang jeg trykker?

Hvordan kan man bruge en KeyUP funktion til at løse problemet?

Mvh,
Karsten!
Avatar billede rohaje Nybegynder
04. juli 2006 - 21:09 #1
key_listener = new Object();
key_listener.onKeyDown = function() {
    if (!down) {
        down = true;
        if (Key.getCode() == Key.SPACE) {
            var Px = person._x;
            var Py = person._y;
            var ball:MovieClip = attachMovie("pkt", "pkt"+i, i);
            ball._x = Px;
            ball._y = Py;
            i = i+1;
        }
    }
};
key_listener.onKeyUp=function(){
    delete down;
}
Key.addListener(key_listener);
Avatar billede caleidoscope Nybegynder
05. juli 2006 - 10:17 #2
Fantastisk!!

Det virker, som en drøm, men jeg forstår ikke helt hvorfor?
Du starter med at lave et Object ved navn Key_listerner som registrerer onKeyDown, men så er jeg ikke helt med på, hvad der så sker. Hvorfor går i kun op med én, hver gang jeg trykker.
I øvrigt er det første gang jeg bruger denne service. Er der noget med nogle point man skal tildele?

- Karsten!
Avatar billede rohaje Nybegynder
06. juli 2006 - 22:07 #3
i onKeyDown (når du tryker på en tast) tjecker den om down ikke er == true
hvis ikke, gør den hvad der skal gøres og sætter down=true;

i onKeyUp slettes down,,

dvs. at man skal slippe en test før at den skyder scriptet i onKeyDown af igen..

point: jeg skal lave et svar, som du acceptere..

mvh

Robert
Avatar billede rohaje Nybegynder
06. juli 2006 - 22:07 #4
og her kom svaret :)
Avatar billede rohaje Nybegynder
10. juli 2006 - 21:31 #5
tak for point :)
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