zoukankan      html  css  js  c++  java
  • [Canvas]动态背景

    欲查看动态效果请点击下载代码再用Chrome或Firefox打开index.html

    图例:

    代码:

    <!DOCTYPE html>
    <html lang="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <head>
         <title>动态背景 19.3.4 10:21 by:逆火狂飙 horn19782016@163.com</title>
         
         <style>
         #canvas{
            background:#ffffff;
            cursor:pointer;
            margin-left:10px;
            margin-top:10px;
            -webkit-box-shadow:3px 3px 6px rgba(0,0,0,0.5);
            -moz-box-shadow:3px 3px 6px rgba(0,0,0,0.5);
            box-shadow:3px 3px 6px rgba(0,0,0,0.5);
         }
         
         #controls{
            margin-top:10px;
            margin-left:15px;
         }
         </style>
         
        </head>
    
         <body onload="init()">
            <div id="controls">
                <input id='animateBtn' type='button' value='运动'/>
            </div>
         
            <canvas id="canvas" width="1024px" height="576px" >
                出现文字表示你的浏览器不支持HTML5
            </canvas>
         </body>
    </html>
    <script type="text/javascript">
    <!--
    var paused=true;
    animateBtn.onclick=function(e){
        paused=! paused;
        
        if(paused){
            animateBtn.value="运动";
        }else{    
            animateBtn.value="暂停";
            window.requestAnimationFrame(animate); 
        }
    }
    
    var ctx;// 绘图环境
    var bg;// 背景
    
    var bgOffset;
    var bgVelocity;
    
    function init(){
        // init Canvas
        var canvas=document.getElementById('canvas');
        canvas.width=1024;
        canvas.height=576;
        ctx=canvas.getContext('2d');
        
        // init varialbles
        bg=new Image();
        bg.src="garden.jpg";
    
        bgOffset=0;
        bgVelocity=10;
    };
    
    function update(){
    
    }
    
    function draw(){
        ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
        bgOffset+=bgVelocity;
        if(bgOffset>ctx.canvas.width){
            bgOffset=0;
        }
        
        ctx.drawImage(bg,bgOffset,0,ctx.canvas.width-bgOffset,canvas.height,0,0,ctx.canvas.width-bgOffset,canvas.height);
        ctx.drawImage(bg,0,0,bgOffset,canvas.height,ctx.canvas.width-bgOffset,0,bgOffset,canvas.height);
    }
    
    function animate(){
        if(!paused){
    
            update();
            draw();
        
            //setTimeout( function(){
                window.requestAnimationFrame(animate); /// 让浏览器自行决定帧速率
            //}, 0.20 * 1000 );// 延时执行
        }
    }
    //-->
    </script>

    2019年3月4日11点02分

  • 相关阅读:
    Python之文件操作
    document.hasFocus() & $(window).blur()
    innerHtml 会忽略里面元素的属性
    ng  命令集合
    阿里云ECS CentOs7.3下搭建LAMP环境(Apache2.4 + Mysql5.7 + PHP5.6 + Laravel5.2)
    在忘记root密码的时候,可以这样 亲测可用
    下一次装mysql 试一下这个方法
    CentOS-6.8安装Mysql-5.5.29
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    CentOS 7.2 配置Apache服务(httpd)--上篇
  • 原文地址:https://www.cnblogs.com/heyang78/p/10469504.html
Copyright © 2011-2022 走看看