Witam ponownie.
Mam problem stworzyłem grę typu Arkanoid w C# problem polega na tym, że mam 3 timery (1 dla obsługi piłki (zbijanie klocków ruch pilki etc), 2. i 3. dla ruchu paletką w lewo i prawo). Przy wygranej lub przegranej na ekranie wyświetla się button i przy nim zaczynają się kłopoty.
Załóżmy że wygrywamy lub przegramy wyskakuje ten sam button ale z inna odpowiednia treścią.
Po kliknięciu na niego powinno nam zresetować rozgrywkę co teoretycznie robi z jednym małym ale.
Przy nowej rozgrywce nie można już sterować paletką (zdarzenie OnKeyDown/Up nie reagują.
W czym może tkwić problem?
Fragmenty kodu
//KeyUP
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Right) r_timer.Enabled = false; //r_timer =right timer
if (e.KeyCode == Keys.Left) l_timer.Enabled = false;
}
//KeyDOWN
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Right) r_timer.Enabled = true;
if (e.KeyCode == Keys.Left) l_timer.Enabled = true;
}
//Przycisk do resetu gry
private void new_game_btn_Click(object sender, EventArgs e)
{
//pozycja pilki
ball_img.Top = 50;
ball_img.Left = 50;
ball_img.Visible = true;
//wprawienie w ruch pilki
x = -8; y = -8;
ball_timer.Enabled = true;
new_game_btn.Visible = false;
to_win = 16;
//przywrocenie bloczkow '
brick1.Visible = true; brick5.Visible = true; brick9.Visible = true; brick13.Visible = true;
brick2.Visible = true; brick6.Visible = true; brick10.Visible = true; brick14.Visible = true;
brick3.Visible = true; brick7.Visible = true; brick11.Visible = true; brick15.Visible = true;
brick4.Visible = true; brick8.Visible = true; brick12.Visible = true; brick16.Visible = true;
}