Announcement

Collapse
No announcement yet.

Mehrere Pfeiltasten auf einmal abfangen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mehrere Pfeiltasten auf einmal abfangen

    Hallo,

    mittels

    Code:
    // HTML-Seite
    <body onkeydown="observeKeyDown(event)" onkeyup="observeKeyUp(event)" >
    
    // JS-Datei
    function observeKeyDown(event) {
    	if (event.keyCode == VK_UP) {
    		// irgendwas
    	}
    }
    fange ich Tastendrücke ab. Aber wie stelle ich es an, dass mehrere Pfeiltasten auf einmal abgefangen werden können (etwa Pfeil-oben + Pfeil-rechts = Halb-rechts)?

    Da bin ich relativ ratlos

    Habt ihr da eine Idee?

    Ciao

  • #2
    if (event.keyCode == VK_UP) {
    // irgendwas
    }
    if (event.keyCode == VK_DOWN) {
    // irgendwas
    }
    .....
    Christian

    Comment


    • #3
      ??? Inwiefern hilft mir das, die beiden Tasten gleichzeitig abzufragen?

      Comment


      • #4
        Seit wann kann etwas gleichzeitig stattfinden? Einer ist immer der Erste....
        Christian

        Comment


        • #5
          Tja, das ist ja das Problem Aber irgendwie muss man (in bestimmten zeitlichen Toleranzintervallen) ein Quasi-gleichzeitiges Tastenereignis ja erkennen können. Wie sollte man sonst etwa Spiele programmieren können, bei denen sich der Akteur diagonal bewegt?

          Comment


          • #6
            In dem man ihn in die Richtung bewegt, die der gerückten Taste entspricht.
            Christian

            Comment


            • #7
              Naja, aber wenn 2 Tasten gleichzeitig gedrückt werden?? Der Mensch ist zu so etwas fähig

              Comment


              • #8
                Beitrag #2

                Der Mensch ist zu so etwas fähig
                Nein, ist er nicht.

                Wenn du eine Routine hast für UP und eine für LEFT wird erst die ein oder die andere ausgeführt. Das Ergebnis ist eine diagonale Position
                Christian

                Comment


                • #9
                  Irgendwie reden wir aneinander vorbei

                  Ich habe hier mal ein Skript, was das Problem verdeutlichen sollte. Drücke und halte dort mal UP. Es sollte als KeyCode 38 angezeigt werden. Dann hältst du mal UP und RIGHT gleichzeitig gedrückt. Dann wird auch nur 38 oder 39, nicht aber eine Verkettung davon, erkannt.

                  Das Problem ist, dass ich diese Tasteneingaben an einen Roboter weiterleiten möchte, der nur 1 Winkel annehmen kann. Daher klappt deine 2-Routinen-Lösung (die ich im Moment ja bereits habe) nicht, wenn ich mehr als 1 Taste gleichzeitig halte.

                  Nein, ist er nicht.
                  Das musst du mir erklären. Wieso sollte man keine 2 Tasten gleichzeitig halten können????

                  Comment

                  Working...
                  X