java写一个动态的爱心
时间: 2024-06-10 19:05:23 浏览: 99
很高兴能够为您解答问题。下面是Java编写动态的爱心的代码:
```java
import java.applet.Applet;
import java.awt.*;
public class DynamicHeart extends Applet implements Runnable {
int x, y, w, h, r;
double t, dt;
public void init(){
x = 150; // 初始坐标x
y = 130; // 初始坐标y
w = 120; // 心形的宽度
h = 120; // 心形的高度
r = 50; // 心形的圆角半径
t = 0; // 时间
dt = 0.08; // 时间步长
Thread th = new Thread(this);
th.start();
}
@Override
public void run() {
while (true) {
t += dt;
int nx = (int) (w * (0.5 * Math.sin(t) + 0.5));
int ny = (int) (h * (-0.25 * Math.cos(t) + 0.25));
x += (nx - w / 2 - x) / 10;
y += (ny - h / 2 - y) / 10;
repaint();
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g){
g.setColor(Color.red);
g.fillRoundRect(x, y, w, h, r, r);
Polygon p1 = new Polygon();
p1.addPoint(x, y + h / 2);
p1.addPoint(x + w / 2, y + h);
p1.addPoint(x + w, y + h / 2);
p1.addPoint(x + w / 2, y);
g.fillPolygon(p1);
Polygon p2 = new Polygon();
p2.addPoint(x + w / 2 - 20, y + 10);
p2.addPoint(x + w / 2, y - 10);
p2.addPoint(x + w / 2 + 20, y + 10);
g.fillPolygon(p2);
}
}
```
这段代码可以创建一个Java Applet程序,实现一个动态的爱心。程序会不断改变爱心的位置和形状,从而产生动态的效果。如果您使用Java开发工具,可以将代码粘贴到一个Java文件中并编译运行。如果您想要将程序集成到自己的网页中,可以将程序包装成Java Applet的形式,并将Applet嵌入到HTML代码中。
阅读全文