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


  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/hainange/p/6153801.html
Copyright © 2011-2022 走看看