• [Canvas]奔跑的马


    下载地址:https://files.cnblogs.com/files/xiandedanteng/52-WalkingHorse.rar,请用Chrome浏览器打开观看动态效果。

    图例:

    源码:

    <!DOCTYPE html>
    <html lang="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <head>
         <title>行走的马 19.3.3 14:41 horn19782016@163.com</title>
        </head>
    
         <body onload="draw()">
            <canvas id="myCanvus" width="1200px" height="90px" style="border:1px dashed black;">
                出现文字表示你的浏览器不支持HTML5
            </canvas>
         </body>
    </html>
    <script type="text/javascript">
    <!--
    var ctx;// 绘图环境
    var cds;// 从大图中取小图的坐标数组
    var img;// 大图
    
    function draw(){
        var canvas=document.getElementById('myCanvus');
        
        canvas.width=1200;
        canvas.height=90;
        
        ctx=canvas.getContext('2d');
    
        img=new Image();
        img.src="runningHorse.jpg";
        
        // 图块坐标
        cds=[
            {'x':'0', 'y':'10','width':'120','height':'80'},
            {'x':'120','y':'10','width':'120','height':'80'},
            {'x':'240','y':'10','width':'120','height':'80'},
            {'x':'360','y':'10','width':'120','height':'80'},
            {'x':'480','y':'10','width':'120','height':'80'},
            
            {'x':'0', 'y':'100','width':'120','height':'80'},
            {'x':'120','y':'100','width':'120','height':'80'},
            {'x':'240','y':'100','width':'120','height':'80'},
            {'x':'360','y':'100','width':'120','height':'80'},
            {'x':'490','y':'100','width':'120','height':'80'},
       ];
        
        animate();
    };
    
    var index=0;
    var i=0;
    
    function animate(){
        ctx.clearRect(0,0,1200,90);
        ctx.fillStyle = "rgb(137,201,3)";
        ctx.fillRect(0, 0, 1200, 90);
            
        ctx.strokeStyle = "black";
    
        // 绘制地面
        ctx.lineWidth = 0.5;
        ctx.beginPath();
        ctx.fillStyle = "black";
        ctx.moveTo(0, 80.5);
        ctx.lineTo(1200,80.5);
        ctx.stroke();
        ctx.closePath();
        
        index+=15;
        if(index>1320){
            index=-120;
        }
        i=Math.abs((index/15)) % 10;
    
        // 截取一块图贴上
        ctx.drawImage(img,cds[i].x,cds[i].y,cds[i].width,cds[i].height,index,0,cds[i].width,cds[i].height);    
    
        setTimeout( function(){
            window.requestAnimationFrame(animate); /// 让浏览器自行决定帧速率
        }, 0.15 * 1000 );// 延时执行
    }
    
    //-->
    </script>

    2019年3月3日15点04分

  • 相关阅读:
    pdp,ppp,tcpip,socket联系
    EC20 AT指令
    pdp ppp
    安装 FreeSwitch PBX
    PCMA和PCMU编码带宽计算
    gdb使用symbol文件调试程序
    freeswitch 常用配置
    如何管理分布式团队
    测试环境的简单理解
    六个节点三主三从Redis集群最简单搭建方法
  • 原文地址:https://www.cnblogs.com/heyang78/p/10465728.html
Copyright © 2020-2023  润新知