Java 如何更改计时器
我不知道如何更改程序中的计时器 我想在程序运行时控制计时器 这是我的代码:Java 如何更改计时器,java,swing,timer,Java,Swing,Timer,我不知道如何更改程序中的计时器 我想在程序运行时控制计时器 这是我的代码: Timer timer = new Timer(Difficulty, new ActionListener() { public void actionPerformed(ActionEvent e) { if(p.GameOver==0) { if(p.s==1)
Timer timer = new Timer(Difficulty, new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(p.GameOver==0)
{
if(p.s==1)
{
System.out.println("S");
p.moveSquare(p.SnakeHeadX,p.SnakeHeadY+p.SnakeHeadH);
p.eatBlueSquare(p.SnakeHeadX,p.SnakeHeadY);
p.Border(p.SnakeHeadX,p.SnakeHeadY);
p.Colision(p.SnakeHeadX,p.SnakeHeadY);
}
if(p.d==1)
{
System.out.println("D");
p.moveSquare(p.SnakeHeadX+p.SnakeHeadW,p.SnakeHeadY);
p.eatBlueSquare(p.SnakeHeadX,p.SnakeHeadY);
p.Border(p.SnakeHeadX,p.SnakeHeadY);
p.Colision(p.SnakeHeadX,p.SnakeHeadY);
}
if(p.a==1)
{
System.out.println("A");
p.moveSquare(p.SnakeHeadX - p.SnakeHeadW,p.SnakeHeadY);
p.eatBlueSquare(p.SnakeHeadX,p.SnakeHeadY);
p.Border(p.SnakeHeadX,p.SnakeHeadY);
p.Colision(p.SnakeHeadX,p.SnakeHeadY);
}
if(p.w==1)
{
System.out.println("W");
p.moveSquare(p.SnakeHeadX,p.SnakeHeadY-p.SnakeHeadH);
p.eatBlueSquare(p.SnakeHeadX,p.SnakeHeadY);
p.Border(p.SnakeHeadX,p.SnakeHeadY);
p.Colision(p.SnakeHeadX,p.SnakeHeadY);
}
}
}
});
timer.start();
如果我在程序运行时更改了难度,则没有效果。您必须取消当前计时器,然后使用正确的值重新启动计时器(您将更改难度)您必须取消当前计时器,然后使用正确的值重新启动计时器(您将更改难度的地方)您必须取消当前计时器,然后使用正确的值重新启动计时器(您将更改难度的地方)您必须取消当前计时器,然后使用正确的值重新启动计时器(您将更改难度的地方)每次更新难度时,只需使用timer.setDelay(难度)。 有关计时器的更多信息,请参见:每次更新难度时,只需使用timer.setDelay(难度)。 有关计时器的更多信息,请参见:每次更新难度时,只需使用timer.setDelay(难度)。 有关计时器的更多信息,请参见:每次更新难度时,只需使用timer.setDelay(难度)。
有关计时器的更多信息,请参见:如何取消计时器?@user3212504,
如何取消计时器?
您阅读了计时器API吗?如何取消计时器?@user3212504,如何取消计时器?
您阅读了计时器API吗?如何取消计时器?@user3212504,如何取消计时器?
您阅读了吗计时器API?我如何取消计时器?@user3212504,我如何取消计时器?
您是否阅读了计时器API?如果我在程序运行时更改难度,则没有任何效果。
-您是刚更改了难度变量,还是实际调用了计时器上的方法来更改延迟?如果我将难度更改为prgram运行时没有效果。
-您是刚刚更改了难度变量,还是实际上调用了计时器上的方法来更改延迟?如果我在程序运行时更改了难度,则没有效果。
-您是刚刚更改了难度变量,还是实际上调用了计时器上的方法来更改延迟?如果我在程序运行时更改难度,则不会产生任何影响。
-您是刚刚更改了难度变量,还是实际调用了计时器上的方法来更改延迟?