Альтернативная подпрограмма Java для остановки выполнения метода, основанного на таймере? - PullRequest
0 голосов
/ 04 ноября 2018

Я довольно новичок в LibGDX, у меня есть некоторый опыт работы с C #, когда дело доходит до разработки игр, однако я пытаюсь понять, как правильно добавить задержку; например, добавление скорострельности к оружию, так что даже если игрок нажимает несколько раз, он ограничивает частоту вызова метода стрельбы. в C # мы создали бы подпрограмму с таймером, который изменяет логическое значение после завершения, чтобы установить флаг, чтобы можно было вызывать метод, но в Java нет подпрограмм. до сих пор я пытался использовать это:

 Timer.schedule(new Timer.Task() {
                @Override
                public void run() {
                    clip -= 1;
                    isShooting = false;
                }
            }, this.fireRate);

задержка перезагрузки:

Timer.schedule(new Timer.Task() {
                @Override
                public void run() {
                    Reload();
                }
            }, this.reloadSpeed);

они находятся внутри абстрактного класса, а скорости задаются в конструкторах расширенных классов и никогда не меняются; это работает для первого клипа, скорострельности, но после этого ни одна из задержек не работает; перезарядка или скорострельность. Хотя это работает немного, как указано выше, я новичок в этом, поэтому я очень открыт для лучшего метода или исправления!

...