さて、私の最後の質問は物事について本当に明確ではなかったので、私はそれを削除してこれを作りました。私はゲーム「ヘビ」を作っています。私が欲しいのは、難易度を選択した後、フォームのキーダウンが機能する必要があることです(難易度を選択すると、ヘビが描画されて動き始めます。希望の方向に移動するには、矢印キーを押します)難しさを追加する前は、完全に機能していました。難易度を選択してゲームをプレイしたいのですが、ヘビが動かず、プログラムでキーが反応しません。
だから私の問題=難易度を選択した後にkeyDownが機能しない。
private void btnNormal_Click(object sender, EventArgs e)
{
timer1.Interval = 250;
btnNormal.Visible = false;
btnEasy.Visible = false;
btnHard.Visible = false;
diffLabel.Visible = false;
timer1.Enabled = true;
down = false;
up = false;
right = true;
left = false;
}
private void btnHard_Click(object sender, EventArgs e)
{
timer1.Interval = 10;
btnNormal.Visible = false;
btnEasy.Visible = false;
btnHard.Visible = false;
diffLabel.Visible = false;
timer1.Enabled = true;
down = false;
up = false;
right = true;
left = false;
}
private void btnEasy_Click(object sender, EventArgs e)
{
timer1.Interval = 500;
btnNormal.Visible = false;
btnEasy.Visible = false;
btnHard.Visible = false;
diffLabel.Visible = false;
timer1.Enabled = true;
down = false;
up = false;
right = true;
left = false;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Down && up == false)
{
down = true;
right = false;
up = false;
left = false;
}
if (e.KeyData == Keys.Up && down == false)
{
down = false;
right = false;
up = true;
left = false;
}
if (e.KeyData == Keys.Right && left == false)
{
down = false;
right = true;
up = false;
left = false;
}
if (e.KeyData == Keys.Left && right == false)
{
down = false;
right = false;
up = false;
left = true;
}
}