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

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

31

09.08.2009, 15:28

Danke, hat funktioniert :D
Aber wieso musste ich hier (Post 13) keine lib linken?

OT: Wie kann man machen das man den Link z.B. als
Hier ist der Code.
anzeigt. :?

Edit: Es funktioniert mit dem hier.
Pi mal Daumen = 18.84955592

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

32

09.08.2009, 15:49

Zitat von »"FLO2"«

OT: Wie kann man machen das man den Link z.B. als
Hier ist der Code.
anzeigt. :?


Quellcode

1
[url=http://www.example.org]Hier[/url]


Btw: Das Forum hat ne Hilfe ;)

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

33

09.08.2009, 20:20

Danke :)

Zitat von »"dot"«

Btw: Das Forum hat ne Hilfe
Ich dachte nicht das das so gelöst wird!
Pi mal Daumen = 18.84955592

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

34

14.08.2009, 10:22

Hi
Ich habe wieder eine Frage dazu:
Ich finde diese Taste < nicht in der Liste der Virtual Key codes.
Hat diese vlt. einen Sondernamen?
Pi mal Daumen = 18.84955592

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

35

14.08.2009, 10:50

Versuchs mal mit VK_OEM_102

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

36

14.08.2009, 11:16

Hmm, das wird sie warscheinlich sein.
Danke :)
Pi mal Daumen = 18.84955592

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

37

15.08.2009, 18:39

Hi
Wieder ne Frage:
Ich habe mit GetAsyncKeyState ein Bisschen rumprobiert und gemerkt das die bei z.B. einem Mausklick gleich ca. 10 Meldungen gibt.
Das ist bei diesem Code hier:

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
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment (lib, "User32.lib")
#include <Funktionen.h>

int main ()
{
    int x = 5;
    int y = 6;
    char Feld[10][10];
    while (!(GetAsyncKeyState(0x01)&0x8000))
    {
        for (int i=0; i<10; i++)
        {
            for (int j=0; j<10; j++)
            {
                if (GetAsyncKeyState(0x02)&0x80000)
                {
                    x++;
                    y++;

                }
                if (i == x && j == y)
                    Feld[i][j] = 'P';
                else
                    Feld[i][j] = '°';
            }
            cout << endl;
    
            Console::gotoxy (0, 0);    // Gehe zu 0 und 0

            for (int i=0; i<10; i++)
            {
                for (int j=0; j<10; j++)
                {
                    cout << Feld[i][j];
                }
                cout << endl;
            }
        }
    }

    cin.get ();
    return 0;
}
(Sorry für die Unübersichtlichkeit, nur ein Test)
nicht so toll, da die Figur dann gleich fünf Felder und somit aus dem Feld rennt. Sleep passt nicht da dann das Spiel kurz anhält.
Kann man also machen das GetAsyncKeyState nur eine Meldung (von wegen linke Maustaste wurde gedrückt) ausgibt, praktisch die anderen abfängt? Mir fällt da nichts ein :?

Danke im Voraus
Pi mal Daumen = 18.84955592

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

38

15.08.2009, 19:11

GetAsyncKeyState gibt zurück, ob die Taste momentan gedrückt ist. Um längeres Drücken als einen Klick auszuwerten, kannst du z.B. speichern wenn die Taste gedrückt ist und dann die, bei Tastendruck auszuführende Aktion erst durchführen, wenn die Taste nicht mehr gedrückt wird, aber vorher gedrückt war.
Siehe auch:
http://msdn.microsoft.com/en-us/library/…28VS.85%29.aspx
Signaturen werden überbewertet

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

39

15.08.2009, 19:56

@GR-PA
Hoffe das meinst du:
Habe bis her keine Lösung gefunden.
Könntest du noch einen Denkanstoß(bzw. Beispiel) geben.
Also so geht es nämlich nicht:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
do
{
   if (!GetAsyncKeyState(0x02)&0x8000)
   {
        ...
        ...
    }
} while (GetAsyncKeyState(0x02)&0x8000);


Edit:Habe es gelößt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
if (GetAsyncKeyState(0x02)&0x8000)
{
      while (GetAsyncKeyState(0x02)&0x8000)
      {
      }
      x++;
      y++;
}

Danke :) 
Pi mal Daumen = 18.84955592

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

40

15.08.2009, 20:05

Ich denke er meint du sollst dir merken ob die Taste im vorigen Schleifendurchlauf gedrückt war. Ist sie jetzt gedrückt und war es vorher nicht dann ist sie wohl inzwischen gedrückt worden...eigentlich ganz einfach das ;)

Werbeanzeige