Button mit der tastatur ?
-
hey leute,
ich will mir gerade ein kleines "rennspiel" programmieren, habe aber leider ein problem. und zwar ich habe ein Button, label und ein timer.
wen ein spieler eine taste drückt soll sich das "auto" nach links bewegen geht auch alles.
mein problem ist jetzt: wen ich jetzt das doppelt habe (spieler2) kann ich trozdem nur ein button drücken wegen dem Fucos.
-Was muss ich machen damit ich den zweiten button gleichzeitig benutzen kann?
-was muss ich machen wen ich die tastatur benutzen will also pfeil nach links←(spieler1) und Pfeil nach rechts→(spieler2).
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender)
{Timer1->Interval = 1000;
Label1->Left = Label1->Left +10;
}
//---------------------------------------------------------------------------mfG Alex
-
Also ich würde das generell über die Tastatur machen. Dazu muss die Eigenschaft KeyPreview von Form1 auf true sein, damit überhaupt Tastaturereignisse behandelt werden.
Anschließend z.B. OnKeyDown benutzen und über den Parameter Key ermitteln, welche Taste gedrückt wurde.
Wenn man viele (ich glaube 3 oder mehr, hängt aber davon ab, welche genau) Tasten gedrückt hält, wird in der Regel jede weitere nicht mehr registriert (so oder so ähnlich). Ich denke DirectInput von DirectX hat diesen Nachteil nicht.
-
wie meinst du das mit dem Parameter Key?
-
Hallo
Schau dir doch mal den Event OnKeyDown in der Builder-Hilfe an, dann weißt du was mit Key gemeint ist.
bis bald
akari
-
ein bisschen hat es mir gebracht aber iwie komme ich nicht weiter
ich habe vergessen zuerwähnen dass ich anfänger bin!
-
alles klar habs hinbekommen danke euch