canvas实现一颗树的生长到开花

最近看了一些很牛逼的特效,有位大神用canvas绘制的 梦幻大树,深深的震撼了我,超级厉害,于是我也准备尝试着去实现,可能脑子不够用,总是无法实现他那样的梦幻效果,最终只好退而求其次,实现了下面的这种大树,还算满意吧。

效果图

动态效果图

HTML源码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>生长的树</title>
    <style>
        html , body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: #fff;
        }
    </style>
</head>
<body>
<canvas id="myCanvas">此浏览器不支持canvas</canvas>
<script src="../js/tree.js"></script>
</body>
</html> 

tree.js 源码

/**
 * Created by 004928 on 2017/8/2.
 */
(function (window) {

    var w = window.innerWidth , h = window.innerHeight ;
    var ctx = null ;
    var treeNum = 3 ;
    var initRadius = 25 ;     // 树干的初始宽度
    var maxGeneration = 5 ;   // 最多分支的次数
    var branchArray = null ;  // 树干的集合
    var flowers = [];         // 花的集合

    window.MyRequestAnimationFrame = window.requestAnimationFrame ||
        window.mozRequestAnimationFrame ||
        window.webkitRequestAnimationFrame ||
        window.msRequestAnimationFrame ;

    window.MyCancelRequestAnimationFrame = window.cancelRequestAnimationFrame ||
        window.mozCancelRequestAnimationFrame ||
        window.webkitCancelRequestAnimationFrame ||
        window.msCancelRequestAnimationFrame ;

    /**
     * 初始化canvas
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值