Я начинающий программист, и я пытаюсь сделать так, чтобы пользователь мог перемещать метку с помощью WASD, но, похоже, это не сработало, я скрылся в Интернете за ответ без надежды.Для записи я использую Microsoft Visual Studio 2012.
Это метод определения ключа пользователя
internal class Input
{
private static Hashtable keyTable = new Hashtable();
public static bool KeyPressed(Keys key)
{
if (keyTable[key] == null)
return false;
return (bool)keyTable[key];
}
public static void ChangeState(Keys key, bool state)
{
keyTable[key] = state;
}
}
И код для фактического перемещения материала при нажатии клавиши
private void moveObject(object sender, EventArgs e)
{
{
if (Input.KeyPressed(Keys.A))
{
label1.Location = new Point(label1.Location.X - 1, label1.Location.Y);
MessageBox.Show("test", "test");
}
if (Input.KeyPressed(Keys.D))
{
label1.Location = new Point(label1.Location.X +1, label1.Location.Y);
}
if (Input.KeyPressed(Keys.S))
{
label1.Location = new Point(label1.Location.X, label1.Location.Y-1);
}
if (Input.KeyPressed(Keys.W))
{
label1.Location = new Point(label1.Location.X, label1.Location.Y+1) ;
}
}
Мне кажется, что это должно работать на бумаге, но ничего не делает.