Java-更改计时器运行时的持续时间

Java-更改计时器运行时的持续时间,java,timer,timertask,Java,Timer,Timertask,我有一个定时器,我用延迟0和周期150调度了一个定时器任务。 现在我想更改时段,但是计时器已经在运行。 现在如何更改期间 private int penultimateStep = 1; private int lastStep = 1; private Timer move = new Timer(); private TimerTask movePlayer = new TimerTask(){ public void run(){ //Schritte ändern

我有一个
定时器
,我用
延迟
0和
周期
150调度了一个
定时器任务
。 现在我想更改
时段
,但是
计时器
已经在运行。 现在如何更改
期间

private int penultimateStep = 1;
private int lastStep = 1;
private Timer move = new Timer();
private TimerTask movePlayer = new TimerTask(){
    public void run(){
        //Schritte ändern
        if(lastStep==3){
            lastStep = 2;
            penultimateStep = 1;
        }
        else if(lastStep==1){
            lastStep = 2;
            penultimateStep = 3;
        }
        else if(lastStep==2){
            if(penultimateStep==1){
                lastStep = 1;
                penultimateStep = 3;
            }
            else if(penultimateStep==3){
                lastStep = 3;
                penultimateStep = 1;
            }
        }
    }
};


...

move.schedule(movePlayer, 0, 150);

检查两个链接。这个问题可能是上述问题的重复

因此,您可以按如下方式修改代码:

private int penultimateStep = 1;
private int lastStep = 1;
private Timer move = new Timer();

class MovePlayer extends TimerTask {
   public void run(){
       //Schritte ändern
       if(lastStep==3){
           lastStep = 2;
           penultimateStep = 1;
        }
        else if(lastStep==1){
            lastStep = 2;
            penultimateStep = 3;
        }
        else if(lastStep==2){
            if(penultimateStep==1){
                lastStep = 1;
                penultimateStep = 3;
            }
            else if(penultimateStep==3){
                lastStep = 3;
                penultimateStep = 1;
            }
        }
    }
}


...

move.schedule(new MovePlayer(), 0, 150);

干杯。

你能分享一些代码来帮助我吗?取决于你使用的计时器。你想重新安排任务吗?发布一条请帖。我想在计时器运行时将速度从150更改为200(例如)