Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

1

21.07.2006, 16:50

Tastennamen

Gibt es eine fertige Methode die mir zu einem DirectInput-Tastencode einen entsprechenen String mit dem Namen liefert? Also bei DIK_ESCAPE soll zb "Escape" geliefert werden.. oder muss ich das alles selbst machen ?
"Have you tried turning it off and on again?"

Phili

unregistriert

2

21.07.2006, 17:03

@Chase
Wofür soll das denn gut sein? :?

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

3

21.07.2006, 17:47

Ich hab ein Ingame-Dialog zum Waehlen der Steuerung (wie des halt so ueblich is :D) und der Benutzer sollte schon sehen koennen welche Taste gerade welcher Aktion zugeordnet ist (so).
Ist eh in englisch gehalten, also die deutschen Namen brauch ich nicht :)
"Have you tried turning it off and on again?"

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

4

21.07.2006, 18:19

selber schreiben...

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

5

21.07.2006, 18:35

Doch, so eine Funktion gibt es. Allerdings kenn ich den Namen nicht auswendig. Such halt ein bisschen in der Doku.

Ciao

Anonymous

unregistriert

6

21.07.2006, 18:38

self made is the best made ;)

Für solche Dinge sollte man Scan-Codes (DIK) wieder zu Virtual Key-Codes (VK) umwanden können, hilft einen sehr viel ;)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
    // Konvertiert Windows Virtual Key Code zu Scan Code

unsigned long virtual_key_to_scan_code (unsigned long virtual_key)
{
    return (static_cast<unsigend long>(::MapVirtualKeyEx (virtual_key, 0, ::GetKeyboardLayout (::GetCurrentThreadId ()))));
}

    // Konvertiert Scan Code zu Windows Virtual Key Code

unsigned long scan_code_to_virtual_key (unsigned long scan_code)
{
    return (static_cast<unsigend long>(::MapVirtualKeyEx (scan_code, 1, ::GetKeyboardLayout (::GetCurrentThreadId ())));
}


Wenn man das kann, stehen einem sogesehen in diesem Bereich alle Türen offen! Dann geht man auf die MSDN, sucht dort mal nach "Keyboard Input" und findet das:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput.asp

Boah ist das geil ;) Alle Funktionen die es gibt, auch sowas wie "ToUnicodeEx" uvm! Einfach geil ;)

Kurz: Dort findest Du alles was Du brauchst. :roll:

Bevor Du jetzt anfängst für jede Taste mit "if-else" rumzuhantieren und Dir den Performace-Einbruch der Generation holst, geh auf die MSDN ;)

- Patrick, der MSDN User.

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

7

21.07.2006, 21:18

Hab jetzt auch ein 2D Game geplant unter Windows mit OpenGL und stelle mir auch die Frage wie ich den Input regeln könnte :)
Am besten wäre doch die Callback funktion dafür nur das ich eine eigene funktion schreiben muss die das regelt. :p
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

Anonymous

unregistriert

8

21.07.2006, 22:50

T-VIRUS
Also von Message-Logging für Spiele halte ich persönlich nichts mehr.

Das "doofe" und auch gute an Fensternachrichten ist, das diese Unabhängig vom aktuellen Prozess des Programms ausgeführt werden können, aber in Spielen ist das oft ein großes Manko.

Bestes Beispiel für einen Frame.

1. Es wird gefragt ob der Spieler Taste A drückt. (Taste A ist gedrückt)
2. Nun wird dynamisch während der Laufzeit eine große Textur geladen, was kurz ein Ruckeln ausführt, während des Ladens löst der Spieler Taste A.
3. Es wird noch mal an anderer Stelle geprüft ob Taste A gedrückt ist, hier ist sie aber gelöst!

Kurz: Murks und Debuggen kann man hier knicken.

In dem Link den ich gepostet habe, gibt es alles für ordentliche Tastatureingabe! GetKeyboardState ist z. B. eine Funktion die Synchron ein Array mit allen Tastenstates wiedergibt. Also wozu Fensternachrichten?

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

9

21.07.2006, 23:28

Stimmt :) werds mir mal genau ansehen ;D danke :)

Okay habs mir angeguckt :)
simpel und sehr hilfreich :)

Jetzt ist nur die Frage wie ich dem Spieler die Wahl der Tastenbelgung lassen kann :p oder sollte ich doch erstmal eine feste Belegung machen?
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

10

22.07.2006, 10:39

Klein anfangen ;) Erst fest, dann mit vorgegebenen Konfigurationen, dann frei ;)

Aber so schwer ist eine "freie" Konfiguration nicht. Der User muss einfach den Knopf drücken den er für eine bestimmte Aktion gerne belegen möchte und schon hast du deinen Keycode ;)

Werbeanzeige