![]() |
"Tastatur abfragen?" sehr gut gelöst-> hier ne
Wenns get bitte in Echtzeit, denn ich habe vor eine Mario Version eines coolen GameBoy spiels zu Programmieren, und da ists ärgerlich, wenn man zwar Drücken würde, das Programm aber nicht reagiert...
ach und zu was gehört eientlich Delphi3? |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
erstmal Hallo in der DP!
bitte formulier dich ein bisschen genauerer...und benutze die Forensuche. Schau dir mal OnKeyDown und OnKeyPress an. |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
Delphi 3 ist Win32.
Ich weiß nicht, wie viel Erfahrung du schon mit Delphi hast, wenn du viel Erfahrung hast, dürfte GetAsyncKeyState oder DelphiX interessant für dich sein, ansonsten OnKeyDown. |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
beachte, dass bei so einem Spiel auch mal ein Knopf immer wieder mal Gedrückt wird, während ein anderer Knopf gedrückt bleibt
geht das? STRG Umschalt und das alles ist aber unwichtig |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
Dann wäre ein array[0..127] of Boolean nützlich, das du in etwa so füllst:
Delphi-Quellcode:
var I: Integer;
keys: array[0..127] of Boolean; //... for I:=0 to high(keys) do keys[I]:=GetAsyncKeyState(I)=-1; |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
was passiert da genau?
|
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
Es wird für sämtliche relevanten Tasten abgefragt, ob sie gedrückt sind oder nicht.
Wenn du jetzt abfragen willst, ob die Taste W gedrückt ist, steht das in keys[Ord('W')]. Wenn du abfragen willst, ob die Pfeiltaste unten gedrückt ist, machst du keys[VK_DOWN]. |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
klappt noch nicht
|
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
Delphi-Quellcode:
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
implementation
{$R *.DFM} var i:Integer; keys:array[0..127] of Boolean; procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.FormActivate(Sender: TObject); begin if timer1.enabled = false then begin form1.width:=screen.width; form1.height:=screen.height; form1.position:=poscreencenter; timer1.enabled:=true; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin for i:=0 to high(keys) do keys[i]:=GetAsyncKeyState(i)=-1; if keys[VK_DOWN]=1 then form1.canvas.Pixels[100,100]:=clred; end; end. |
Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
Tausche mal das Pixels-Zeugs aus gegen showmessage('blubb'), vielleicht gehts dann.
Denn die Form refresht ständig, dann siehst du den roten Pixel nicht mehr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz