Java协同例程可用于停止基于计时器的方法的执行?

时间:2018-11-03 22:29:59

标签: java libgdx coroutine

我对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);

它们在抽象类中,并且速度在扩展类的构造函数中设置,并且永远不变。这适用于第一个片段,即发射率,但是之后没有任何延迟起作用;重装或射速尽管它确实可以正常工作,但是如上所述,我对此还很陌生,因此我非常乐意接受更好的方法或修复方法!

0 个答案:

没有答案