Приостановка и перезапуск приложения. - PullRequest
0 голосов
/ 05 мая 2018

Я хочу создать игру, используя 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;

Процесс игры не продолжается. В чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...