Kategori:Spil Bruger-input

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

Det typiske bruger-input til et spil er enten musen eller tastaturet, og somme tider i kombination.

Muse-events

Beskrivelserne her tager udgangspunkt i eksemplerne på processing.org[1] og specielt i omtalen af musefunktioner på processing.org[2].

Den bedste måde at registrere hændelser på musen (muse-events) er ved at oprette event-handler funktioner, der kaldes når der sker noget med musen.

De to letteste at bruge er mousePressed() og mouseReleased(), der kaldes når musen hhv. trykkes ned og slippes igen. Her skal man være opmærksom på at det er alle museknapper der aktiverer de to funktioner, så hvis man kun ønsker at modtage venstre-klik, så skal man kigge på mouseButton, der kan være LEFT og RIGHT.

Man kan også bruge mouseClicked() der kommer efter både mousePressed() og Mouse Released(). Der er en væsentlig forskel, eventen kommer ikke hvis musen bevæges mens den er klikket - den holder stadig styr på hvilken museknap det er der er aktiveret.

To andre event-handlere der kan anvendes er mouseMoved() som kaldes hver gang musen flytter sig inde i program-vinduet, mens der ikke er museknapper aktiveret og mouseDragged() der kaldes hver gang musen flytter sig, mens en museknap er aktiveret.

Muse-variabler

De mest anvendelige variabler er mouseX og mouseY som tilsammen angiver hvor musen er henne i vinduet. Bevæger man musen uden for vinduet, så vil mouseX og mouseY bevare den sidste værdi de fik, mens musen var inden for vinduet.

Som nævnt er mouseButton anvendelig, hvis man ønsker at skelne mellem museknapperne, eller at man kun ønsker at registrere noget på venstreklik.

Der er også en variabel mousePressed, som giver status på om museknappen er trykket ned eller ej (true / false);

Keyboard-events

For at få det rigtige tidspunkt at aflæse keyboardet på, så er det bedst at anvende event-handlerne keyPressed(), keyReleased() og keyTyped().

keyPressed() aktiveres når alle taster trykkes ned, også Shift, Ctrl og funktionstaster.

keyReleased() aktiveres på samme måde som keyPressed(), men blot når tasten slippes.

keyTyped() aktives når en normal-tast er registreret helt (efter keyReleased()) - denne event-handler aktiveres ikke på special-taster (pile, funktioner, Shift, Ctrl osv.)

Keyboard-variabler

Keyboardets resultater kan aflæses i de 3 system-variabler key, keyCode og keyPressed.

key angiver den karakter de normale taster kommer med.

keyCode angiver en tal-kode for alle taster - de normale taster kommer først med den, når tasten er sluppet igen, mens special-taster kommer når de trykkes ned.

keyPressed er af typen boolean, og er true når en hvilken som helst tast er trykket ned.

Referencer

  1. Eksempler på processing.org
  2. Musefunktioner på processing.org

Sider i kategorien "Spil Bruger-input"

De nedenstående 14 sider er i denne kategori, ud af i alt 14.