canvas连线

这篇博客展示了如何利用HTML5的canvas元素和JavaScript实现一个触屏点击连线的游戏或应用。通过监听touchstart事件,获取触碰起点,并绘制圆点,实现了在触屏设备上点击屏幕时从上一个点到新点击点的连线效果。
<style type="text/css">
      
          .bj{width: 100%;height: 100%;background-color: red;position: relative;z-index: 1;}
          #canvas{position: absolute;z-index: 2;}
          

      </style>



<div class="bj">
        
        <canvas id="myCanvas" width="200" height="200" >
            
        </canvas>
    </div>
    
       <script type="text/javascript">
         var canvas = document.getElementById("myCanvas");
         //var zhezhao = document.getElementById("zhezhao");
         
         var pmk = $(document).width();
         var pmg = $(document).height();
         $('#myCanvas').attr("width",pmk);
         $('#myCanvas').attr("height",pmg);
         
         
         
             var cxt = canvas.getContext("2d");
             
             cxt.fillStyle = "#000";
             cxt.fillRect(0,0,pmk,pmg);
             cxt.strokeStyle = "ff0000";
             //cxt.strokeStyle = "rgba(255,0,0,0.5)";//线的颜色
             cxt.lineWidth = 20;//线的宽度
             cxt.lineCap = "round";//线的两头样式为圆
             cxt.lineJoin = "round";//线的拐角样式为圆
             
//              cxt.beginPath();
             
//              cxt.moveTo(100,100);
//              cxt.lineTo(200,200);
//              cxt.lineTo(100,200);
             
//              cxt.stroke();
             
             cxt.save();
         
         
         var startX,startY;
         
         function touchStart(event){
              event.preventDefault();
              if(!event.touches.length) return;
              var touch = event.touches[0];
              startX = touch.pageX;
              startY = touch.pageY;
             
              cxt.arc(startX,startY,10,0,Math.PI*2,true);
              cxt.stroke();
             
             
             //cxt.moveTo(100,100);
             //alert(startX);
             
             
             
//              cxt.beginPath();
//              cxt.clearRect(startX,startY,50,50);
//              cxt.closePath();
//              cxt.fill();
//              cxt.restore();
         }

        
         
         //add touch start listener
        canvas.addEventListener("touchstart",touchStart,false);
         
       </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值