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

1

11.11.2006, 16:18

Tastencodes? / Wie Input am klügsten lösen?

Hi

ich weiß die frage ist dumm, aber ich finde in der MSDN nichts dazu.
gibt es irgendwo eine auflisteung, wie die tastenkonstanten für direct input sind?

ich kenn bis jetz nur DIK_LCONTROL von meinem tutorial, da wurd aber auch nichts von andeen codes gesagt.

ich weiß die frage ist dumm, aber ich komm einfach net weiter.

Und noch eine frage:

sollte man die input abfrage am besten in einem seperaten thread als dauerschleifen laufen lassen=? wie realesiert ihr das?

MfG
Eldarion72

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

11.11.2006, 16:37

Guck mal in der MSDN nach DIK ... Ich find dazu dutzende Sachen ... Aber achte drauf das du auch die Englisch MSDN erwischt ;) Ansonsten nochmal Forensuche.

Eigeninitiative hilft ;)

3

11.11.2006, 16:42

oO, englisch^^.
ich hatte gedacht, das beide den selben inhalt haben.

ich werd dann gelich ma suchen gehn. danke.

und was sagt ihr zur 2ten frage?


edit: für alle andern:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/Keyboard_Device.asp

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

4

11.11.2006, 16:44

Eingabe threaden?? Warum das Oo

Wenn du buffered Input willst schau dir mal entsprechende Tutorials an, ich muss gestehen das ich Maus garnicht buffere und Tastatur mithilfe der Windowsnachrichten *g*

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

11.11.2006, 16:47

Alternativ kann man auch in de DX Doku schauen, wenn es um Direct Input geht.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

6

11.11.2006, 17:02

welchen vorteil hat dinput dann bei tastatur erkennung überhaupt gegenüber windows messages?

und was ist buffered input? *g*

7

11.11.2006, 17:53

hi,

Direct Input ist Hardwarenäher und umgeht Windows als Eingabekanal. Wenn Du nur Ansi Zeichen benutzen wilst is ist es ziemlich egal on nun Windows oder Direct Input. Bei Unicode ist der Direct Input Aufwand etwas grösser, da Du selber um das Tastaturlayout und deren Transscription ins zeichen kümmen must.

Bufferd heist einfach das sich Direct Input merkt wie die letzten Tastatureingaben waren, dabei ist der speicher wie einb flipflop angesprochen(first in last out).

8

11.11.2006, 18:19

öhm, was würdet ihr jetzt für ein kleines spiel empfehlen?

edit: ich nimmjetz die messages. ich frag mich nur, wie ich die anschlagverzögerung umgehen kann. also wie ich beim gedrückt halten net diesen Effekt habe:

1tes drücken anspringen
pause
ansrpingen
anspringen
.
.
.

kann man das irgendwie klug verhindern?^^

noch eine frage, ich frage zurezit nur esc und die pfeiltasten ab. wenn ich jetz eine andere taste drücke, beendet sich das programm.

hier isma mein message loop:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
LONG FAR WINAPI WndProc (HWND hwnd , UINT message , 
                         UINT wParam , LONG lParam) 
{ 
    switch (message)
    {
        case WM_KEYDOWN:
        {
            switch (wParam)
            {
            case VK_ESCAPE:
                {
                    running = false;
                    return 0;
                };
                break;
            case VK_LEFT:
                 {
                 x = x - 5;
                 Main_Player.set_Koordinaten(x, y);
                 return 0;
                 };
                 break;
            case VK_RIGHT:
                 {
                 x = x + 5;
                 Main_Player.set_Koordinaten(x, y);
                 return 0;
                 };
                 break;
            case VK_UP:
                 {
                 y = y - 5;
                 Main_Player.set_Koordinaten(x, y);
                 return 0;
                 };
                 break;
            }
        }
        case WM_DESTROY:
        {

            PostQuitMessage (0) ; 
            return 0 ;
        } break;
    } // switch (message)

    return DefWindowProc (hwnd , message , wParam , lParam) ;
} // WndProc


kann es sein, das die buttons und smileys im forum net funzen?

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

9

11.11.2006, 19:07

Autsch ...

Guck mal in der MSDN nach GetAsyncKeyState . Aber die Win Nachrichtenschleife für Echtzeiteingaben zu nutzen ist gewagt ;)

10

11.11.2006, 21:38

deshalb hatte ich mich ja gewundert das ihr das meintet :D

naja, ich guck mir ma das getasync viech an^^.

Werbeanzeige