html代码爱心树

今天我们来学习一个制作爱心树的HTML代码,让我们一起来看看吧:

<!DOCTYPE html>
<html>
<head>
    <title>爱心树</title>
    <Meta charset="utf-8">
</head>
<body>
    <canvas id="canvas"></canvas>
    <script>
        var canvas = document.getElementById('canvas');
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;

        function Heart() {
            this.x = Math.random() * canvas.width;
            this.y = Math.random() * canvas.height;
            this.color = 'rgb(' + Math.random() * 255 + ',' + Math.random() * 255 + ',' + Math.random() * 255 + ')';
            this.draw = function() {
                var ctx = canvas.getContext('2d');
                ctx.beginPath();
                ctx.moveto(this.x,this.y);
                ctx.bezierCurveto(this.x,this.y - 70,this.x + 50,this.y);
                ctx.bezierCurveto(this.x + 50,this.y + 50,this.x,this.y + 120,this.y + 120);
                ctx.bezierCurveto(this.x - 50,this.x - 50,this.y,this.y);
                ctx.fillStyle = this.color;
                ctx.fill();
            }
        }

        var heartArr = [];
        var maxHearts = 30;
        for (var i = 0; i < maxHearts; i++) {
            heartArr.push(new Heart());
        }

        function animation() {
            requestAnimationFrame(animation);
            for (var i = 0; i < maxHearts; i++) {
                heartArr[i].y += Math.random() * 2;
                heartArr[i].draw();
                if (heartArr[i].y > canvas.height) {
                    heartArr[i].y = 0;
                }
            }
        }

        animation();
    </script>
</body>
</html>

html代码爱心树

以上便是制作爱心树的HTML代码了。我们使用canvas标签来创建画布,使用JavaScript来制作爱心的动画效果。通过for循环和push函数来创建多个爱心,并且加入随机的颜色和位置。通过requestAnimationFrame函数来实现爱心的动画效果,当爱心跑出屏幕外时,便重新开始。完美的创作一个炽热的爱心树!

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些