Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Tastatureingaben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
29.05.2004, 15:24 Uhr
Lensflare



Hallo!

wie kann ich bei OpenGL Tastatureingaben auswerten lassen?

zB wenn ich die taste A druecke, soll sich ein objekt (bzw. ein punkt) verschieben.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.05.2004, 15:39 Uhr
typecast
aka loddab
(Operator)


OpenGL ist afaik nur für graphische Ausgaben da und hat keine Methoden, mit deren Hilfe du Tastatur- oder Mauseingaben auswerten kannst.

Das musst du schon mit Hilfe einer anderen Bibliothek machen (WinApi, Qt...)
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.05.2004, 18:16 Uhr
Lensflare




Zitat:
Das musst du schon mit Hilfe einer anderen Bibliothek machen (WinApi, Qt...)



und was genau muss ich dazu einbinden und welche funktionen benutzen? ich bin ein noob... das muss man mir alles genau erklären... bitte
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.05.2004, 18:58 Uhr
typecast
aka loddab
(Operator)


Du solltest schon sagen, womit du arbeiten willst/schon arbeitetst. Sonst kann ich dir dazu nichts sagen...
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.05.2004, 19:38 Uhr
Lensflare



Ich arbeite mit Windows, Dev-Cpp (C++). Mit OpenGL hab ich schon animationen hinbekommen usw. Jetzt will ich ein objekt durch tastendruck verschieben lassen, zB taste A soll nach links schieben und D soll nach rechts schieben.
Nur weiss ich nicht wie das programm erkennen soll, ob ich eine taste gedrückt hab oder nicht.

ich hab in einigen scripten gesehen, dass keys[] benutzt wird, aber hab keine ahnung was ich dazu einbinden muss. Hab schon alles eingebunden was ich so an GL-includes hab, aber keys[] funzt nicht.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.05.2004, 17:01 Uhr
typecast
aka loddab
(Operator)


Dann wirst du wohl in den anderen Programmen auch gesehen haben, dass mit der Win-API gearbeitet wurde. Damit kenne ich mich leider nicht aus. Google mal ein bischen nach den Möglichkeiten, die die Win-API bietet um Tastendrücke zu verarbeiten. Wenn du nichts findest, dann bist du wohl im Win-API Forum gut aufgehoben. Ich verschieb den Thread mal vorsorglich dahin.


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.05.2004, 22:35 Uhr
Lensflare



Also du meinst, ich soll mal versuchen, gleichzeitig ein OpenGL fenster und ein Windows-Konsolenfenster zu üffnen und dann durch die konsole werden die tasten eingelesen?
Ok, ich versuchs mal so, aber wenn das klappen sollte,
hab ich dann nicht das problem, dass die tasten zu langsam eingelesen werden?? Die Konsole liest/gibt Zeichen nur sehr langsam ein/aus, bei mir jedenfalls.
Und Ausserdem will ich ja auch noch die maus als eingabegerät verwenden und das geht nicht mit der konsole denk ich.

und falls mit WinApi nicht die konsole gemeint ist, was soll ich dann benutzen? ich kenn bisher nur die konsole und das OpenGL fenster.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 30.05.2004 um 22:36 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
31.05.2004, 07:24 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


schau dir die NEHE-Tutorials an, da wird alles erklärt (dort wird z.b auch erklärt wie man das per DirectInput macht, aber auch die "Standard"-Version über WinAPI)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
31.05.2004, 14:39 Uhr
~Pacman
Gast


Hey Lensflare

Wenns nicht unbedingt die Win API sein muss, wäre die GLUT Library noch eine alternative, vorallem für Anfänger:
www.xmission.com/~nate/glut.html
Es wird eigentlich alles nötige zur verfügung gestellt, was man so als Anfänger halt eben braucht. Darüberhinaus wird GLUT nicht nur unter Windows unterstützt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
31.05.2004, 19:34 Uhr
Lensflare



Beim NEHE Tutorial hab ich wieder "nur" dieses keys[] array gefunden, das bei mir nicht geht, weil ich wahrscheinlich nicht die nötige datei eingebunden hab.

Also hab ich weiter gesucht und gesucht bis ich endlich (und da fällt mir ein stein vom herzen) eine möglichkeit gefunden habe.

Ich schreib die mal auf:

C++:
#include <windows.h>
#include <gl/gl.h>
#include <gl/glaux.h>
#include <gl/glu.h>

#define KEY_DOWN(vk_code)    ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEY_UP(vk_code)     ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

//Beginn des OpenGL main loop...
  if(KEY_DOWN(VK_RIGHT))  { /* Aktion ausgelöst durch die Pfeiltaste Rechts */ }
  if(KEY_DOWN('A'))  { /* Aktion ausgelöst durch die Taste A*/ }
//Hauptprogramm Ende


--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 31.05.2004 um 19:35 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: