代码说明
-
动画原理:
-
使用
Timer
定期更新心形的缩放比例(scale
变量) -
缩放比例在0.8到1.2之间循环变化,产生心跳效果
-
每次缩放变化后调用
repaint()
重绘组件
-
-
心形绘制:
-
使用
Path2D
类和贝塞尔曲线绘制心形 -
createHeart()
方法创建心形路径 -
通过改变
size
参数实现缩放效果
-
-
视觉效果:
-
黑色背景衬托红色心形
-
添加了半透明的红色发光效果增强视觉效果
-
启用了抗锯齿使图形更平滑
-
运行方法
-
将代码保存为
HeartAnimation.java
-
编译运行:
javac HeartAnimation.java && java HeartAnimation
-
你将看到一个400x400的窗口,其中有一个跳动的红色心形
import javax.swing.*; import java.awt.*; import java.awt.geom.Path2D; import java.util.ArrayList; import java.util.Random; public class Main extends JPanel { private float scale = 1.0f; private float delta = 0.01f; private final Color heartColor = new Color(255, 50, 50); private ArrayList<Particle> particles = new ArrayList<>(); private Random random = new Random(); public Main() { // 设置定时器来更新动画 Timer timer = new Timer(30, e -> {