Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 09:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ Pfeiltasten Steuerung, wie?

Discussion on C++ Pfeiltasten Steuerung, wie? within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
chaoswurm's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 216
Received Thanks: 31
C++ Pfeiltasten Steuerung, wie?

Hallo zusammen,

Ich versuche mich gerade daran ein kleines Spiel zu schreiben... Zu meinem Problem, was eigentlich ganz Simple ist.
Ich will einen Button nach links, bzw. rechts steuern. Egal ob mit den Pfeiltasten oder WASD etc.
Ich habe ein KeyDown Ereignis angelegt und das ganze funktioniert auch schon mit den Standard Tasten von c++, also Space/Esc. Nun will ich, wie gesagt aber eigene Tasten verwenden. Wie ?
Habe natürlich auch schon gegoogelt, finde aber nur für mich unverständliches Zeug.

Das passiert bisher:
Code:
private: System::Void button1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) 
			 {
				 x=x+10;
				 this->button1->Location = System::Drawing::Point(x, y);
			 }
Nun will ich, dass diese Aktion nur Auftritt wenn ich z.b. die Rechte Pfeiltaste drücke, also VK_RIGHT, soweit ich das verstanden habe.
Ziemlich banales Problem...

Danke schön
chaoswurm is offline  
Old 04/01/2013, 13:31   #2
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Also erstmal ist das C++/CLI, was kompletter Schwachsinn ist.

Hab dir mal nen Lösungsansatz in C# geschrieben, sollte leicht
in C++/CLI zu übersetzten sein.
Code:
private void KeyDown(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Right)
     {
           //Do Stuff
     }
}
.SkyneT. is offline  
Old 04/01/2013, 13:33   #3
 
elite*gold: 0
Join Date: Jan 2011
Posts: 362
Received Thanks: 41
Sagen wir mal du hast n array feld [10][10] groß , dann deklarierst du einfach das zB beim tastendruck W das Y feld um eins gesenkt wird damit zb die figur oder sonst was hoch geht. für den rest genauso nur halt x achse + oder -1 weißt wie ich das mein?^^

Beispiel figur steht auf feld [4][3], du drückst W , nun steht die figur auf [3][3] , du drückst D und die figur geht nach [3][4]
Rullx3 is offline  
Old 04/01/2013, 13:45   #4
 
chaoswurm's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 216
Received Thanks: 31
Der Bewegungsablauf ist für mich schon verständlich, ich frage mich nur wie ich den Button die eigentliche Bewegung ausführen lassen soll, also mit was für einem Befehl.

Und, Rullx3...Das wäre eine möglichkeit, aber ohne Array ?,Ich will nur, dass sich der Button, wenn ich z.B D drücke 10 Pixel nach rechts verschoben wird, beim wiederholten drücken nochmal. Das geht ja im momment schon, nur eben mit der Leertaste, was ich ja nicht will.

Skynet´s lösung in C++ formuliert geht auch nicht. Da passiert garnichts. Wenigstens kein Error.

Code:
private: System::Void button1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) 
			 {
						if(e->KeyCode == Keys::Right)
						{
						x=x+10;
						this->button1->Location = System::Drawing::Point(x, y);
						}
			 }
chaoswurm is offline  
Old 04/01/2013, 14:36   #5
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Hast du das Event irgendwo "registriert"? Von wo soll das Framework wissen, welche Methode aufgerufen werden soll?

Und das ist _kein_ C++. Das ist C++/CLI aka Dünnschiss. Benutz C#.
Schlüsselbein is offline  
Thanks
1 User
Old 04/01/2013, 14:59   #6
 
chaoswurm's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 216
Received Thanks: 31
Visual Studio eben, bekommen wir von der Schule so bereit gestellt.
Wenn der Befehl nicht bekannt wäre, würde Visual Studio dann nicht eine Fehlermeldung ausgeben.(?)

Ich hab es jetzt noch so versucht, was aber auch nicht geht:

Code:
#include "Windows.h"
.
.
.
int GetAsyncKeyState(int VirtualKeyCode)
       if (GetAsyncKeyState(VK_LEFT) !=0)
       {
           //DoThings
       }
chaoswurm is offline  
Old 04/01/2013, 17:30   #7
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by chaoswurm View Post
Visual Studio eben, bekommen wir von der Schule so bereit gestellt.
Wenn der Befehl nicht bekannt wäre, würde Visual Studio dann nicht eine Fehlermeldung ausgeben.(?)

Ich hab es jetzt noch so versucht, was aber auch nicht geht:

Code:
#include "Windows.h"
.
.
.
int GetAsyncKeyState(int VirtualKeyCode)
       if (GetAsyncKeyState(VK_LEFT) !=0)
       {
           //DoThings
       }
Dieses herumprobieren bringt dich nicht weiter, lern die
Sprache oder lass es sein...

btw:
.SkyneT. is offline  
Old 04/01/2013, 17:42   #8
 
chaoswurm's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 216
Received Thanks: 31
Was denkst du, was ich gerade Versuche... Ist nur etwas schwer was zu lernen, wenn man keine gescheite Antwort bekommt!

Ich weis nicht wie ich C++ sage, was VK_KEY ist... bzw. wie auch immer ich das verwende, also falls noch jemand eine Antwort hat. danke
chaoswurm is offline  
Reply


Similar Threads Similar Threads
Pfeiltasten temporär verlegen
05/21/2013 - Technical Support - 11 Replies
Guten Abend ihr, wollte mal fragen, ob mir jemand fix sagen kann, ob es die Möglichkeit gibt, die Pfeiltasten auf WASD zu legen. Brauche das nur für ein Spiel. MFG
Problem mit Hack und Pfeiltasten
11/29/2011 - WarRock - 5 Replies
Ich hab nun mehrere Hacks ausprobiert aber jedes mal starte der Hack auch aber ich kann erst nah mehrmaligem drücken einen Hack aktivieren oder runter gehen !!! ( Windows Xp) Bitte um Hilfe !!!
KeyCode für Pfeiltasten down ?
11/12/2011 - AutoIt - 18 Replies
Hallo alle zusammen, ich benutze die PostMessage UDF von KillderDeluxe und brauchte zum ersten mal {Left down},{Right down},{Up down},{Down down},{Left up},{Right up},{Up up} & {Down up}. Leider gibt es die Codes dafür nicht in der KeyCodes UDF die ebenfals von KillerDeluxe ist. Ich habe auch in der standartmäßigen Constants UDF geschaut da ist auch nix. Bin verzweifelt könnt ihr mir helfen ?
Autoit Bot Pfeiltasten
03/19/2011 - AutoIt - 2 Replies
Hey Leute Hoffe das ist hier der richtige bereich um so welche frage zu stellen^^ Also Ich suche einen Autoit Bot code Der die ganze zeit die Pfeiltasten nach links und dann nach Rechts drückt immer in so halbe Sekunde abstand Aber er soll Nie aufhören Am besten weg so F3 bot starten F4 stop
Pfeiltasten bei Autoit
09/17/2009 - AutoIt - 19 Replies
Hallo com, ich bin gerade dabei nen kleinen Bot zu coden und habe dabei ein prob ich muss die pfeiltasten benutzen. Leider weis ich nicht welchen Befehl ich nehmen muss..... könnt ihr mir helfen? wäre echt nett :D



All times are GMT +2. The time now is 09:50.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.