c++ Tastendruck



  • Hallo, ich bins nochmal mit meinen 3D-Koordinatensystem.

    Und zwar will einen Punkt in einem Koordinatendruck verschieben, dh. mit dem tastendruck "hoch" soll sich ein wert vergrössern und mit der runter-taste verkleinern.
    das ganze soll gleich geschehen, wenn eine (bestimmte!) taste gedrückt wird, also entweder die hoch-taste oder die runtertaste.

    deswegen suche ich die passende funktion dazu. am besten ist es, wenn der wert sich verändert solange die taste gedrückt wird, in einem bestimmten interval.

    also konkretes beispiel: solange ich die w-taste gedrückt halte, soll sich jede halbe sekunde der wert "x" in 0.2 schritten erhöhen.



  • Also Tastendruck kann man mit GetAsyncKeyState abfragen.Und dann kannste ja das so ca. machen vllt.:

    while(GetAsyncKeyState == /*irgendeine Taste*/)
    {
        //erhöhe um...
    }
    


  • und mal noch ganz dumm gefragt... welche header-datei brauche ich dafür? weil die funktion bei mir im script noch nicht deklariert wurde



  • musste nur windows.h mit rein
    hier nochmal ein beispiel zur verwendung, ,weil ichs oben galsch geshrieben hab^^ :

    if(GetAsyncKeyState(VK_DOWN))
    {
        cout << "Unten";
    }
    


  • so stimmts noch nicht ganz, um zu prüfen ob die taste gedrückt ist musst du den rückgabewert mit AND (&&) mit einer bestimmten zahl verknüpfen, weiss jetzt leider nicht welche, aber msdn hilft dabei 😉



  • ah vielen dank, klappt einwandfrei (:



  • tipp mach am besten dannach noch

    &&1 sonst stht da ganz offt : unten

    (GetAsyncKeyState(VK_DOWN) &&1)
    

    😉


Anmelden zum Antworten