爱心粒子html代码
时间: 2023-10-11 17:10:33 浏览: 215
当然,下面是一个简单的HTML代码,可以用于创建爱心粒子特效:
```html
<!DOCTYPE html>
<html>
<head>
<title>爱心粒子特效</title>
<style>
canvas {
background-color: black;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
// 获取canvas元素
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
// 设置画布大小
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
// 定义粒子数组
var particles = [];
// 定义粒子对象
function Particle(x, y, radius, color, speedX, speedY) {
this.x = x;
this.y = y;
this.radius = radius;
this.color = color;
this.speedX = speedX;
this.speedY = speedY;
}
// 绘制粒子
Particle.prototype.draw = function () {
ctx.beginPath();
ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false);
ctx.fillStyle = this.color;
ctx.fill();
ctx.closePath();
}
// 更新粒子位置
Particle.prototype.update = function () {
this.x += this.speedX;
this.y += this.speedY;
if (this.x + this.radius > canvas.width || this.x - this.radius < 0) {
this.speedX = -this.speedX;
}
if (this.y + this.radius > canvas.height || this.y - this.radius < 0) {
this.speedY = -this.speedY;
}
this.draw();
}
// 生成粒子
function createParticles() {
for (var i = 0; i < 100; i++) {
var x = Math.random() * canvas.width;
var y = Math.random() * canvas.height;
var radius = Math.random() * 3;
var color = "red";
var speedX = (Math.random() - 0.5) * 2;
var speedY = (Math.random() - 0.5) * 2;
particles.push(new Particle(x, y, radius, color, speedX, speedY));
}
}
// 动画循环
function animate() {
requestAnimationFrame(animate);
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < particles.length; i++) {
particles[i].update();
}
}
// 初始化
createParticles();
animate();
</script>
</body>
</html>
```
请注意,这只是一个简单的示例代码,你可以根据自己的需求进行修改和扩展。如果你想改变爱心粒子的颜色、数量或运动轨迹,只需要相应地修改代码中的参数即可。
希望这能帮到你!如果你还有其他问题,请随时提问。
阅读全文