AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 Tasten gleichzeitig!!!

Ein Thema von delphi-projekt · begonnen am 4. Mär 2009 · letzter Beitrag vom 5. Mär 2009
Antwort Antwort
delphi-projekt
(Gast)

n/a Beiträge
 
#1

2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 14:46
Hallo,

ich möchte für ein Autorennspiel-Programm, dass 2 Tasten gleichzeitig gedrückt und erkannt werden können.
So zu sagen z.B. vk_up und vk_left.

Wie ich die Tastatur anspreche weiß ich ja. Aber 2 Tasten gleichzeitig? Das muss doch gehen, da man bei jedem Rennspiel
diese Funktion nutzt.

Kann mir jemand biiiittttte helfen? Ich komme wirklich mit dem was in den Foren steht nicht weiter.
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#2

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 14:59
Hier im Forum suchenGetAsyncKeyState
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#3

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 15:00
Ich verstehe das nicht.
Sorry

Kannst du mir helfen?
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#4

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 15:07
Hier wird es vielleicht deutlicher: Codelib
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#5

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 15:25
oder notfalls in Form.OnKeyDown die Tasten merken und in Form.OnKeyUp wieder vergessen.


Delphi-Quellcode:
Var TasteA, TasteB: Boolean;

Procedure TForm1.FormKeyDown(Sender: TObject; Var Key: Word; Shift: TShiftState);
  Begin
    If Key = 'aThen TasteA := True;
    If Key = 'bThen TasteB := True;
  End;

Procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  Begin
    If Key = 'aThen TasteA := False;
    If Key = 'bThen TasteB := False;
  End;


...

If TasteA Then {was machen, wenn Taste A gedrückt ist}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 15:33
Beispiel.
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if GetAsyncKeystate(VK_LEFT) < 0 then Shape1.Left:=Shape1.Left-2;
  if GetAsyncKeystate(VK_UP) < 0 then Shape1.Top:=Shape1.Top-2;
  if GetAsyncKeystate(VK_RIGHT) < 0 then Shape1.Left:=Shape1.Left+2;
  if GetAsyncKeystate(VK_DOWN) < 0 then Shape1.Top:=Shape1.Top+2;
end;
Blackheart
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#7

Re: 2 Tasten gleichzeitig!!!

  Alt 4. Mär 2009, 16:03
Machs so
Delphi-Quellcode:
TForm1 = class..
  public
  ...
    Keys: Array[Byte] of Boolean;
    procedure RefreshKeys;
end;

--

procedure TForm1.RefreshKeys();
var
  i: Integer;
begin
  for i := 0 to $FF do
    Keys[i] := GetAsyncKeyState( i ) <> 0;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  RefreshKeys;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  RefreshKeys;
end;
  Mit Zitat antworten Zitat
delphi-projekt
(Gast)

n/a Beiträge
 
#8

Re: 2 Tasten gleichzeitig!!!

  Alt 5. Mär 2009, 20:18
Danke für die Zahlreichen Antworten,

hat mir sehr geholfen.

LG
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz