簡體   English   中英

Java-更改計時器的運行時間

[英]Java - change the duration of Timer while it is running

我有一個Timer ,它為TimerTask安排了delay 0和period 150。現在,我想更改period ,但是Timer已在運行。 我現在如何更改period

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

Timer和TimerTask-如何從TimerTask運行中重新安排計時器

可重置Java計時器

檢查兩個鏈接。 這個問題可能是以上任何一個的重復。

因此,您可以如下修改代碼:

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

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM