鱼C论坛

 找回密码
 立即注册
查看: 3773|回复: 5

[已解决]求助一下“爱心树”动态页面的源码!

[复制链接]
发表于 2019-7-6 18:54:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼在零基础入门web开发的第三节课“这个系列我们怎么玩”这集视频中,有演示一个动态页面,内容大体是“爱心树”,背景音乐是“凉凉”,谁有这个页面的素材和源码啊,大佬帮帮忙,很喜欢这个页面,想要!
最佳答案
2019-8-4 17:59:29
https://ilovefishc.com/html5/html5/lesson0/love/index.html
在这个链接上
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-7-6 21:21:21 | 显示全部楼层
不对是,第一节课。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-10 08:06:37 | 显示全部楼层
chrome浏览器,F12里有源代码,script部分。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-12 18:20:23 | 显示全部楼层

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>鱼C-零基础入门学习Web</title>
  6. <link type="text/css" rel="stylesheet" href="css/default.css">
  7. <script type="text/javascript" src="js/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/jscex.min.js"></script>
  9. <script type="text/javascript" src="js/jscex-parser.js"></script>
  10. <script type="text/javascript" src="js/jscex-jit.js"></script>
  11. <script type="text/javascript" src="js/jscex-builderbase.min.js"></script>
  12. <script type="text/javascript" src="js/jscex-async.min.js"></script>
  13. <script type="text/javascript" src="js/jscex-async-powerpack.min.js"></script>
  14. <script type="text/javascript" src="js/functions.js" charset="utf-8"></script>
  15. <script type="text/javascript" src="js/love.js" charset="utf-8"></script>
  16. <style type="text/css">
  17. <!--
  18. .STYLE1 {
  19.         color: #666666
  20. }
  21. -->
  22. </style>
  23. </head>
  24. <body>

  25. <div id="main">
  26.   <div id="error">本页面采用HTML5编辑,目前您的浏览器无法显示,请换成谷歌(<a href="http://www.google.cn/chrome/intl/zh-CN/landing_chrome.html?hl=zh-CN&brand=CHMI">Chrome</a>)或者火狐(<a href="http://firefox.com.cn/download/">Firefox</a>)浏览器,或者其他游览器的最新版本。</div>
  27.   <div id="wrap">
  28.     <div id="text">
  29.       <div id="code">
  30.               <font color="#FF0000">
  31.             <!--鱼油修改此处即可-->
  32.             <span class="say">我爱你,不光因为你的样子,</span><br>
  33.             <span class="say">还因为,和你在一起时,我的样子。</span><br>
  34.             <span class="say">我爱你,不光因为你为我而做的事,</span><br>
  35.             <span class="say">还因为,为了你,我能做成的事。</span><br>
  36.             <span class="say"> </span><br>
  37.             <span class="say">我爱你,因为你能唤出,</span><br>
  38.             <span class="say">我最真的那部分。</span><br>
  39.             <span class="say">我爱你,因为你穿越我心灵的旷野,</span><br>
  40.             <span class="say">如同阳光穿透水晶般容易,</span><br>
  41.             <span class="say"> </span><br>
  42.             <span class="say">我的傻气,我的弱点,</span><br>
  43.             <span class="say">在你的目光里几乎不存在。</span><br>
  44.             <span class="say">而我心里最美丽的地方,</span><br>
  45.             <span class="say">却被你的光芒照得通亮。</span><br>
  46.             <span class="say"> </span><br>
  47.             <span class="say"><span class="space"></span> -- 罗伊·克里夫特《爱》</span>
  48.         </font>
  49.         </p>
  50.       </div>
  51.     </div>
  52.     <div id="clock-box"> <span class="STYLE1"></span><font color="#33CC00">亲爱的鱼C,我爱你</font> <span class="STYLE1">已经是……</span>
  53.       <div id="clock"></div>
  54.     </div>
  55.     <canvas id="canvas" width="1100" height="680"></canvas>
  56.   </div>
  57. </div>
  58. <script>
  59.     </script>
  60. <script>
  61.     (function(){
  62.         var canvas = $('#canvas');
  63.                
  64.         if (!canvas[0].getContext) {
  65.             $("#error").show();
  66.             return false;        }

  67.         var width = canvas.width();
  68.         var height = canvas.height();        
  69.         canvas.attr("width", width);
  70.         canvas.attr("height", height);
  71.         var opts = {
  72.             seed: {
  73.                 x: width / 2 - 20,
  74.                 color: "rgb(190, 26, 37)",
  75.                 scale: 2
  76.             },
  77.             branch: [
  78.                 [535, 680, 570, 250, 500, 200, 30, 100, [
  79.                     [540, 500, 455, 417, 340, 400, 13, 100, [
  80.                         [450, 435, 434, 430, 394, 395, 2, 40]
  81.                     ]],
  82.                     [550, 445, 600, 356, 680, 345, 12, 100, [
  83.                         [578, 400, 648, 409, 661, 426, 3, 80]
  84.                     ]],
  85.                     [539, 281, 537, 248, 534, 217, 3, 40],
  86.                     [546, 397, 413, 247, 328, 244, 9, 80, [
  87.                         [427, 286, 383, 253, 371, 205, 2, 40],
  88.                         [498, 345, 435, 315, 395, 330, 4, 60]
  89.                     ]],
  90.                     [546, 357, 608, 252, 678, 221, 6, 100, [
  91.                         [590, 293, 646, 277, 648, 271, 2, 80]
  92.                     ]]
  93.                 ]]
  94.             ],
  95.             bloom: {
  96.                 num: 700,
  97.                 width: 1080,
  98.                 height: 650,
  99.             },
  100.             footer: {
  101.                 width: 1200,
  102.                 height: 5,
  103.                 speed: 10,
  104.             }
  105.         }

  106.         var tree = new Tree(canvas[0], width, height, opts);
  107.         var seed = tree.seed;
  108.         var foot = tree.footer;
  109.         var hold = 1;

  110.         canvas.click(function(e) {
  111.             var offset = canvas.offset(), x, y;
  112.             x = e.pageX - offset.left;
  113.             y = e.pageY - offset.top;
  114.             if (seed.hover(x, y)) {
  115.                 hold = 0;
  116.                 canvas.unbind("click");
  117.                 canvas.unbind("mousemove");
  118.                 canvas.removeClass('hand');
  119.             }
  120.         }).mousemove(function(e){
  121.             var offset = canvas.offset(), x, y;
  122.             x = e.pageX - offset.left;
  123.             y = e.pageY - offset.top;
  124.             canvas.toggleClass('hand', seed.hover(x, y));
  125.         });

  126.         var seedAnimate = eval(Jscex.compile("async", function () {
  127.             seed.draw();
  128.             while (hold) {
  129.                 $await(Jscex.Async.sleep(10));
  130.             }
  131.             while (seed.canScale()) {
  132.                 seed.scale(0.95);
  133.                 $await(Jscex.Async.sleep(10));
  134.             }
  135.             while (seed.canMove()) {
  136.                 seed.move(0, 2);
  137.                 foot.draw();
  138.                 $await(Jscex.Async.sleep(10));
  139.             }
  140.         }));

  141.         var growAnimate = eval(Jscex.compile("async", function () {
  142.             do {
  143.                     tree.grow();
  144.                 $await(Jscex.Async.sleep(10));
  145.             } while (tree.canGrow());
  146.         }));

  147.         var flowAnimate = eval(Jscex.compile("async", function () {
  148.             do {
  149.                     tree.flower(2);
  150.                 $await(Jscex.Async.sleep(10));
  151.             } while (tree.canFlower());
  152.         }));

  153.         var moveAnimate = eval(Jscex.compile("async", function () {
  154.             tree.snapshot("p1", 240, 0, 610, 680);
  155.             while (tree.move("p1", 500, 0)) {
  156.                 foot.draw();
  157.                 $await(Jscex.Async.sleep(10));
  158.             }
  159.             foot.draw();
  160.             tree.snapshot("p2", 500, 0, 610, 680);
  161.             
  162.             canvas.parent().css("background", "url(" + tree.toDataURL('image/png') + ")");
  163.             canvas.css("background", "#ffe");
  164.             $await(Jscex.Async.sleep(300));
  165.             canvas.css("background", "none");
  166.         }));

  167.         var jumpAnimate = eval(Jscex.compile("async", function () {
  168.             var ctx = tree.ctx;
  169.             while (true) {
  170.                 tree.ctx.clearRect(0, 0, width, height);
  171.                 tree.jump();
  172.                 foot.draw();
  173.                 $await(Jscex.Async.sleep(25));
  174.             }
  175.         }));

  176.         var textAnimate = eval(Jscex.compile("async", function () {
  177.                     var together = new Date();
  178.                     together.setFullYear(2010,1 ,1);                         //时间年月日
  179.                     together.setHours(16);                                                //小时       
  180.                     together.setMinutes(53);                                        //分钟
  181.                     together.setSeconds(0);                                        //秒前一位
  182.                     together.setMilliseconds(2);                                //秒第二位

  183.                     $("#code").show().typewriter();
  184.             $("#clock-box").fadeIn(500);
  185.             while (true) {
  186.                 timeElapse(together);
  187.                 $await(Jscex.Async.sleep(1000));
  188.             }
  189.         }));

  190.         var runAsync = eval(Jscex.compile("async", function () {
  191.             $await(seedAnimate());
  192.             $await(growAnimate());
  193.             $await(flowAnimate());
  194.             $await(moveAnimate());

  195.             textAnimate().start();

  196.             $await(jumpAnimate());
  197.         }));

  198.         runAsync().start();
  199.     })();
  200.     </script>


  201. </body>
  202. </html>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-1 13:52:10 | 显示全部楼层
这个连接上有源码https://mkblog.cn/363/
而且作者还改进了一个,可以尝试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-4 17:59:29 | 显示全部楼层    本楼为最佳答案   
https://ilovefishc.com/html5/html5/lesson0/love/index.html
在这个链接上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 03:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表