000
08.12.2001, 17:27
shenZi
|
wie belege ich in delphi ne taste? (is fürn kleines autorennspiel) bisher hzab ich nen button genommen und per shortcut dann das auto oben unten links rechts bewegt,is aber nicht sehr befriedigend, vor allem beim 2player modus,wenn einer gedrückt hält bewegt sich das auto vom anderen nicht mehr ... :-)
--
..::Follow the rabbit ::..
|
|
Profil || Suche
|
001
08.12.2001, 18:07
Retro
|
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_LEFT) then MoveLeft(); if (Key = VK_RIGHT) then MoveRight(); if (Key = VK_UP) then Accelerate(); if (Key = VK_DOWN) then SlowDown(); end;Währe die einfachste Lösung, weis aber nicht ob das so gut fürn Spiel ist, da das Auto ja dauerhaft nach Links fahren soll solange man die Taste drückt, würd ich die Tasten in ner globalen Schleife abfragen...
Die ganzen Tastennamen stehen in der Onlinehilfe, gibt einfach mal VK_ ein:)
--
shielding people from their own stupidity is an evolutionary step backwards anyway.
/* God is dead!............Nietzsche */ /* Nietzsche is dead!......God */ /* Nietzsche is God!.......The Dead */
|
|
Profil || Suche
|
002
08.12.2001, 18:08
Retro
|
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_LEFT) then MoveLeft(); if (Key = VK_RIGHT) then MoveRight(); if (Key = VK_UP) then Accelerate(); if (Key = VK_DOWN) then SlowDown(); end;Währe die einfachste Lösung, weis aber nicht ob das so gut fürn Spiel ist, da das Auto ja dauerhaft nach Links fahren soll solange man die Taste drückt, würd ich die Tasten in ner globalen Schleife abfragen...
Die ganzen Tastennamen stehen in der Onlinehilfe, gibt einfach mal VK_ ein:)
--
shielding people from their own stupidity is an evolutionary step backwards anyway.
/* God is dead!............Nietzsche */ /* Nietzsche is dead!......God */ /* Nietzsche is God!.......The Dead */
|
|
Profil || Suche
|
003
08.12.2001, 18:51
Another1
|
ich würd einfach nen main loop (mit TTimer od was auch immer) machen und da drinne immer prüfen:
hier die function um zu testen ob ne taste gedrückt ist
function IsKeyPressed(key: word): boolean; begin if ((GetAsyncKeyState(key) AND $8000) > 0)then IsKeyPressed := true else IsKeyPressed := false; end;
dann kannst du im Loop das damit einfach so prüfen:
if IsKeyPressed(VK_LEFT) then begin MoveCarLeft; ... end;
if IsKeyPressed(VK_RIGHT) then begin MoveCarRight; ... end; ...
have fun
--
Another1
...relaxing..atm =) ... und Schweiz suckt!
Dieser Beitrag wurde am 08.12.2001 um 18:51 von Another1 bearbeitet.
|
|
Profil || Suche
|
004
08.12.2001, 19:12
shenZi
|
kk vielen dank
--
..::Follow the rabbit ::..
|
|
Profil || Suche
|