java实现多线程动画代码
时间: 2023-10-18 15:12:25 浏览: 77
以下是一个简单的 Java 多线程动画的示例代码,它将在控制台中绘制一个移动的方块:
``` java
public class Animation extends Thread {
int x = 0;
int y = 0;
int dx = 1;
int dy = 1;
public void run() {
while (true) {
System.out.print("\033[H\033[2J"); // 清屏
System.out.flush();
System.out.println("+" + "-".repeat(20) + "+");
for (int i = 0; i < y; i++) {
System.out.println("|" + " ".repeat(20) + "|");
}
System.out.println("|" + " ".repeat(x) + "O" + " ".repeat(19 - x) + "|");
for (int i = y + 1; i < 20; i++) {
System.out.println("|" + " ".repeat(20) + "|");
}
System.out.println("+" + "-".repeat(20) + "+");
x += dx;
y += dy;
if (x == 0 || x == 19) {
dx = -dx;
}
if (y == 0 || y == 19) {
dy = -dy;
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Animation animation = new Animation();
animation.start();
}
}
```
该程序使用了一个 `while` 循环不断地在控制台中绘制方块,并使用 `Thread.sleep()` 方法使线程暂停一段时间来控制动画速度。`run()` 方法中的代码将在一个单独的线程中运行,这样就可以在主线程中调用 `start()` 方法来启动动画。