为了账号安全,请及时绑定邮箱和手机立即绑定

怎么交互不了?

<script>
 var balls=[];
 var canvas=document.getElementById("canvas");
 var context=canvas.getContext("2d");
 
 window.onload=function(){
  canvas.width=800;
  canvas.height=800;
  
  for(var i=0;i<10;i++){
   var aBall={x:Math.random()*canvas.width,
      y:Math.random()*canvas.height,
      r:Math.random()*50+20};
   balls[i]=aBall; 
   }
  draw();
  canvas.addEventListener("click",detect); 
  
  }
  
  function draw(){
   for(var i=0;i<balls.length;i++){
    context.beginPath();
    context.arc(balls[i].x,balls[i].y,balls[i].r,0,Math.PI*2);
    context.fillStyle="#058";
    context.fill();
    } 
   }
   
   function detect(event){
  var x=event.clientX-canvas.getBoundingClientRect().left;
  var x=event.clientY-canvas.getBoundingClientRect().top;  
   
   for(var i=0;i<balls.length;i++){
    context.beginPath();
    context.arc(balls[i].x,balls[i].y,balls[i].r,0,Math.PI*2);
    if(context.isPointInPath(x,y)){
    context.fillStyle="red";
    context.fill();
    
     }
      }  
    
    }
  
</script>

正在回答

2 回答

挖坟,lz解决了吗

0 回复 有任何疑惑可以回复我~

这个代码,你写错了,这儿应该是y, var y=event.clientY-canvas.getBoundingClientRect().top;  

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Canvas绘图详解
  • 参与学习       72902    人
  • 解答问题       422    个

Canvas系列教程第二课,详解Canvas各接口,让同学彻底掌握Canvas绘图

进入课程

怎么交互不了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信