Libgdx Объект timer срабатывает сразу

117
07 июня 2018, 07:40

В приложении есть два таймера. Первый после старта работает нормально, щелкает раз в секунду, отрабатывает игровую логику.

    GameTimer = new Timer();
    gtTask = new GameTimerTask();
    gtTask.setGame(this);
    GameTimer.schedule(gtTask, 0, 1000);

Пытаюсь запустить второй таймер

        KrabSupTimer = new Timer();
        KrabSupTimer.schedule(new TimerTask() { // Определяем задачу
            @Override
            public void run()
            {
                //  Вернем к жизни краба
                CatSupMan = false;
                KrabSupTimer.cancel();
            }
        }, 0L, 20L * 1000);

По идее должна выдерживаться пауза в 20 секунд. Но, почему-то переменная CatSupMan обнуляется моментально.

Вопрос, в чем может быть проблема?

З.Ы.Ж. Не может ли помочь переделка кода на использование ScheduledThreadPoolExecutor?

Answer 1

Если обратиться к официальным докам, то увидим

public void schedule(TimerTask task,
        long delay,
        long period)

Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay. Далее опущено.

delay - отсрочка задания.

period - период выполнения.

У вас, как видно delay = 0.

READ ALSO
Exception java - почему

Exception java - почему

Есть код:

127
Вывод данных ИЗ TableView.Java

Вывод данных ИЗ TableView.Java

Как после редактирования данных пользоватилем таблицы TabbleView по нажатию на кнопку Save считать данные из таблицы TableView

158
Как скачать полученное фото в TelegramBot?

Как скачать полученное фото в TelegramBot?

Есть задача скачать фото которое было отправлено ботуПытаюсь делать и в результате появились вопросы

135
Разбить List на List по 10 элементов

Разбить List на List по 10 элементов

Есть листС каждым элементом я в отдельном потоке провожу работу

152