zoukankan      html  css  js  c++  java
  • JS——2048(支持触屏及键盘操作)

    <html>
     <head> 
      <title>2048</title> 
      <style type="text/css">
    table { table-layout: fixed }
    table tr td{
    background-color: #D7CE80;
    border:#666666;
    font-size:48px;
    }
    </style> 
      <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
      <script type="text/javascript" src="canvas.js"></script>
      <style id="style-1-cropbar-clipper">
    .en-markup-crop-options {
        top: 18px !important;
        left: 50% !important;
        margin-left: -100px !important;
        width: 200px !important;
        border: 2px rgba(255,255,255,.38) solid !important;
        border-radius: 4px !important;
    }
    
    .en-markup-crop-options div div:first-of-type {
        margin-left: 0px !important;
    }
    </style>
     </head> 
     <body youdao="bind"> 
      <div id="version"></div> 
      <table cellspacing="5px" frame="border"> 
       <tbody>
        <tr> 
         <td id="0" style=" 148.5px; height: 148.5px;"></td> 
         <td id="1" style=" 148.5px; height: 148.5px;">2</td> 
         <td id="2" style=" 148.5px; height: 148.5px;">2</td> 
         <td id="3" style=" 148.5px; height: 148.5px;"></td> 
        </tr> 
        <tr> 
         <td id="4" style=" 148.5px; height: 148.5px;"></td> 
         <td id="5" style=" 148.5px; height: 148.5px;">4</td> 
         <td id="6" style=" 148.5px; height: 148.5px;"></td> 
         <td id="7" style=" 148.5px; height: 148.5px;"></td> 
        </tr> 
        <tr> 
         <td id="8" style=" 148.5px; height: 148.5px;"></td> 
         <td id="9" style=" 148.5px; height: 148.5px;"></td> 
         <td id="10" style=" 148.5px; height: 148.5px;"></td> 
         <td id="11" style=" 148.5px; height: 148.5px;"></td> 
        </tr> 
        <tr> 
         <td id="12" style=" 148.5px; height: 148.5px;"></td> 
         <td id="13" style=" 148.5px; height: 148.5px;"></td> 
         <td id="14" style=" 148.5px; height: 148.5px;"></td> 
         <td id="15" style=" 148.5px; height: 148.5px;"></td> 
        </tr> 
       </tbody>
      </table> 
      <script type="text/javascript" src="setHeight.js"></script> 
      <script type="text/javascript">
    var startX = 0, startY = 0,d=-1;  
      //touchstart事件  
                function touchSatrtFunc(evt) {  
                    try  
                    {  
                        evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等  
                        var touch = evt.touches[0]; //获取第一个触点  
                        var x = Number(touch.pageX); //页面触点X坐标  
                        var y = Number(touch.pageY); //页面触点Y坐标  
                        //记录触点初始位置  
                        startX = x;  
                        startY = y;  
                    }  
                    catch (e) {  
                        alert('touchSatrtFunc:' + e.message);  
                    }  
                }  
    
                //touchmove事件,这个事件无法获取坐标  
                function touchMoveFunc(evt) {  
                    try  
                    {  
                        evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等  
                        var touch = evt.touches[0]; //获取第一个触点  
                        var x = Number(touch.pageX); //页面触点X坐标  
                        var y = Number(touch.pageY); //页面触点Y坐标   
    
                        //判断滑动方向  
                     if((y-startY)>0&&Math.abs((y-startY)/(x-startX))>1)
                    {
                        d=0;
                    }
                    else if(y-startY<0&&Math.abs((y-startY)/(x-startX))>1)
                    {
                        d=1;
                    }
                    else if((x-startX)>0&&Math.abs((y-startY)/(x-startX))<1)
                    {
                        d=2;
                    }
                    else
                    {
                        d=3;
                    }
    
                    }  
                    catch (e) 
                    {  
                        alert('touchMoveFunc:' + e.message);  
                    }  
                }  
    
                //touchend事件  
                function touchEndFunc(evt) {  
                    try {  
                        evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等  
                        if(d==0)
                        {
                            down();//下
                        }
                        else if(d==1)
                        {
                            up();//上
                        }
                        else if(d==2)
                        {
                            right();
                        }
                        else if(d==3)
                        {
                            left();
                        }
                    }  
                    catch (e) {  
                        alert('touchEndFunc:' + e.message);  
                    }  
                }  
    
                //绑定事件  
                function bindEvent() {  
                    document.addEventListener('touchstart', touchSatrtFunc, false);  
                    document.addEventListener('touchmove', touchMoveFunc, false);  
                    document.addEventListener('touchend', touchEndFunc, false);  
                }  
    
                //判断是否支持触摸事件  
                function isTouchDevice() 
                {  
                  //  document.getElementById("version").innerHTML = navigator.appVersion;  
                        document.createEvent("TouchEvent");  
                        bindEvent(); //绑定事件  
                }  
    
                document.onkeypress=function(evt)
                {
                var evt=window.event?window.event:evt;
                   if (evt.keyCode=='119' )
                   {
                    up();//上
                   }
                   if(evt.keyCode=='115')
                   {
                        down();//下
                   }
                    if(evt.keyCode=='100')
                   {
                        right();
                   }
                    if(evt.keyCode=='97')
                   {
                        left();
                   }
                }
                window.onload = isTouchDevice; 
    </script> 
     </body>
    </html>

    —–下面有个“顶”字,你懂得O(∩_∩)O哈哈~
    —–乐于分享,共同进步!
    —–更多文章请看:http://blog.csdn.net/duruiqi_fx


  • 相关阅读:
    STL整理之map
    链表及数组模拟链表
    树链剖分详解
    Luogu P3879 【[TJOI2010]阅读理解】
    Luogu P2727 【01串 Stringsobits】
    CF1200D 【White Lines】
    Luogu P4945 【最后的战役】
    Luogu P4944 【PION贪吃蛇】
    Luogu P2426 【删数】
    P2163 【[SHOI2007]园丁的烦恼】
  • 原文地址:https://www.cnblogs.com/hainange/p/6153801.html
Copyright © 2011-2022 走看看