Witam! Piszę ponieważ mam problem ze zrobieniem skryptu, który będzie odpowiadał za poruszanie się postaci. Po naciśnięciu klawisza np. A, postać ma zmienić położenie o 16px w lewo, za każdym razem gdy będzie klawisz A aktywny.Skrypt działa tak że postać zmienia położenie ale tylko za pierwszym razem gdy klawisz jest aktywny. Jak?
O to kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace Animacja
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
int x = -16;
int posx = 300;
int posy = 100;
if (e.KeyChar == 'a')
{
posx += x;
Postac.Location = new Point(posx, posy);
Postac.BackgroundImage = Animacja.Properties.Resources.JDDDD;
Thread.Sleep(100);
Postac.BackgroundImage = Animacja.Properties.Resources.JDDDD;//Narazie, potem inna
}
else if (e.KeyChar == 'd')
{
posx -= x;
Postac.Location = new Point(posx, posy);
Postac.BackgroundImage = Animacja.Properties.Resources.JDDDD;
Thread.Sleep(100);
Postac.BackgroundImage = Animacja.Properties.Resources.JDDDD;//Mają tu być odwróce wersje
}
else
{
Postac.BackgroundImage = Animacja.Properties.Resources.Postac;
}
}
}
}
Z Góry Dzięki