Я хочу создать игру, используя winforms
(мой учитель сказал мне). Итак, у меня есть игровая форма и код в Load_Event
:
public void Game_form_Load(object sender, EventArgs e)
{
Application.Idle += TimerCallback;
}
Я вызываю метод TimerCallback
, в котором я меняю все позиции своих объектов и после этого делаю Invalidate()
:
public void TimerCallback(object sender, EventArgs e)
{
Bonus_move();
Objects_move(); // all this methods do changing objects positions
Player_move();
Invalidate();
}
Да, это работает, объекты меняют положение без каких-либо проблем, но когда я нажимаю клавишу Esc
- должна открыться вторая форма (например, меню паузы) и анимация должна быть остановлена.
Для этого у меня есть код:
Application.Idle -= TimerCallback;
Хорошо, игровой цикл останавливается, я могу перезапустить игру (просто перезапустите игровую форму), но я не могу продолжить свой игровой процесс, используя:
Application.Idle += TimerCallback;
Процесс игры не продолжается. В чем проблема?