Hallo,
bin Anfänger in Visual Studio 2015 und ich programmiere ein Spiel, bei dem ich Gegenstände bewegen muss. Ich klicke eine Picture Box an und kann sie mit den Pfeiltasten bewegen, aber wenn ich die PictureBox mehrmals anklicke, dann bewegt sie sich in größeren Abständen (z.B. wenn ich eine Pictue Box 5 mal anklicke, bewegt sie sich anstatt 50 Felder 250 Felder mit einem Pfeilklick).
Quellcode:
Habe die Vermutung, dass bei jedem Klick, der Vorgang verdoppelt wird. Vielleicht lässt sich das beheben, indem man ganz am Ende in pictureBox1_Click irgendsowas wie Exit oder so reinschreibt, dass sie Abstände immer gleich bleiben.
Danke für Vorschläge
Edit by ~blaze~:
*C#-Tag eingefügt*
bin Anfänger in Visual Studio 2015 und ich programmiere ein Spiel, bei dem ich Gegenstände bewegen muss. Ich klicke eine Picture Box an und kann sie mit den Pfeiltasten bewegen, aber wenn ich die PictureBox mehrmals anklicke, dann bewegt sie sich in größeren Abständen (z.B. wenn ich eine Pictue Box 5 mal anklicke, bewegt sie sich anstatt 50 Felder 250 Felder mit einem Pfeilklick).
Quellcode:
C#-Quellcode
- int R = 50;
- private void Form_OnKeyr(object sender, KeyEventArgs e)
- {
- switch (e.KeyCode)
- {
- case Keys.Left:
- R = R - 50;
- if (R == -50)
- {
- R = R + 50;
- }
- pictureBox1.Location = new Point(R, 100);
- break;
- case Keys.Right:
- R = R + 50;
- if (R == 250)
- {
- R = R - 50;
- }
- pictureBox1.Location = new Point(R, 100);
- break;
- }
- }
- private void pictureBox1_Click(object sender, EventArgs e)
- {
- this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form_OnKeyr);
- }
Habe die Vermutung, dass bei jedem Klick, der Vorgang verdoppelt wird. Vielleicht lässt sich das beheben, indem man ganz am Ende in pictureBox1_Click irgendsowas wie Exit oder so reinschreibt, dass sie Abstände immer gleich bleiben.
Danke für Vorschläge
Edit by ~blaze~:
*C#-Tag eingefügt*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()