gpt4 book ai didi

java - 我不知道为什么我的代码中的计时器使动画复制其 repaint() 位置

转载 作者:行者123 更新时间:2023-12-01 17:17:08 24 4
gpt4 key购买 nike

我在 japplet 中使用 Swing 计时器来制作动画。我在理解计时器的实际工作原理方面遇到了问题。

我想出了这段代码(这是其中的一小部分):

Action actionListener2 = new AbstractAction() {

public void actionPerformed(ActionEvent actionEvent) {
timer = new Timer(500,this);
timer.start();
System.out.println("S");
p.moveSquare(p.SnakeHeadX,p.SnakeHeadY+p.SnakeHeadH);
p.eatBlueSquare(p.SnakeHeadX,p.SnakeHeadY);

}
};

最佳答案

不,不要在 ActionListener 内部创建新的计时器,因为这会重复创建许多计时器。相反,只需将方 block 移动到计时器的 ActionListener 内并调用 repaint() 即可。您读过 Swing Timer 教程吗?如果没有,我强烈建议您用 Google 搜索并查看一下。

关于java - 我不知道为什么我的代码中的计时器使动画复制其 repaint() 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com