У меня много проблем с тем, чтобы мои элементы управления работали в моей игре. Я пробовал несколько разных способов, но, похоже, ничего не работает. Это то, что у меня есть сейчас с двумя разными слоями в Visual Studio. 1-я часть
class Moves
{
public bool rightKeyPressed { get; set; }
public bool leftKeyPressed { get; set; }
public Moves()
{
rightKeyPressed = false;
leftKeyPressed = false;
}
public void evaluateKey(Keys key, Boolean pressed)
{
if (key == Keys.Left)
leftKeyPressed = pressed;
else if (key == Keys.Right)
rightKeyPressed = pressed;
}
}
2-я часть
private void frmMain_KeyUp(object sender, KeyEventArgs e)
{
if (playing)
{
if (input.leftKeyPressed)
GameField.moveCurrentShapeLeft();
if (input.rightKeyPressed)
GameField.moveCurrentShapeRight();
this.updateGameBoard();
}
input.evaluateKey(e.KeyCode, false);
}
private void frmMain_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space && playing)
input.evaluateKey(e.KeyCode, true); e.Handled = true;
}