ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1008
1008
EMPFEHLEN
-
Hallo leute
Ich habe folgendes problem undzwar hab ich hier in der suche gesucht und auch was gefunden
Aber als ich das dann in meinem quelltext genutzt habe hat es nicht funktioniert und ich frage mich warum hab den quellcode der unten steht auch on alle buttons und pannels eingefügt aber es klappt nicht.
Das Programm soll ein kleines spiel sein man fährt ein auto(button :-D) und muss sich durch ein labyrinth kämpfen das klappt auch alles soweit nur eben die tastatur steuerung nicht
und ich frag mich warum
Hier der quellcode:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if (e.KeyChar == 'W') { richtung = "up"; } if (e.KeyChar == 's') { richtung = "down"; } if (e.KeyChar == 'a') { richtung = "links"; } if (e.KeyChar == 'd') { richtung = "rechts"; } }
-
Wenn du Buttons noch auf dem Formular hast geht das normal nicht, weil dann kein KeyPress (...) Ereignis ausgelöst, es sei du hast bei den Buttons Enabeld auf false (allerdings kann man sie dann nicht anklicken...). Mach am besten alle Buttons weg. Du könntest ja dann mit Escape-Taste Pause machen und die Buttons wieder einblenden.
Noch ein Tipp:
Nimm lieber zwei Ereignisse mit KeyDown und KeyUp, wo du dann bool Variablen auf true bzw auf false setzt und dann anahand dieser Variabeln bei jeder Gameloop entsprechend die Geschwindigkeit zuweist. Denn bei KeyPress wird nicht andauernd ein Ereigniss ausgelöst, sondern nur wenn du sie grad gedrückt hast, und dann schließlich nach ein paar Sekunden andauernd.
-
Danke dir.
Jetzt hab ich noch eine frage und zwar wie kann ich die leertaste und enter auslesen denn über KeyChar sind das zuviele zeichen logischerweise sie sollen dann start und stopp sein.Geändert von Otianer (07.12.07 um 20:37 Uhr)
-
Wenn du weiterhin KeyPress verwendest, musst du das so schreiben um Enter, usw. einzulesen:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
}
}
Aber wenn du Keydown, ... nutzt:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
}
}
Ähnliche Themen
-
C# - Tastendruck
Von Duellking im Forum .NET Windows FormsAntworten: 17Letzter Beitrag: 17.06.11, 11:51 -
Tastendruck Simulieren
Von cobfreaky im Forum Visual Basic 6.0Antworten: 21Letzter Beitrag: 24.11.09, 18:19 -
Tastendruck umleiten
Von Billie im Forum C/C++Antworten: 1Letzter Beitrag: 25.04.08, 14:53 -
Tastendruck?
Von teencheng im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 31.01.06, 16:25 -
Automatischer Tastendruck
Von aexl im Forum C/C++Antworten: 2Letzter Beitrag: 14.03.04, 15:06





Zitieren
Login





