问答详情
源自:3-2 Canvas绘制时钟内容

为什么画黑点那边的if分支,如果不加fillstyle为黑色,就只有3那个点是黑色,它默认样式不就是黑色吗?为什么不加不行呢

for(var i=0;i<60;i++){
   var rad=((2*Math.PI)/60)*i;//求出点所在的坐标
   var x=Math.cos(rad)*(r-18);
   var y=Math.sin(rad)*(r-18);
   ctx.beginPath();//再次画个圆,要有一个开始
   //每隔5个点画一个实心黑色圆,其他为灰色圆
   if (i % 5 == 0){
       ctx.fillStyle="#000";//此处不写会出现只有初始点是黑色,其他都是灰色的问题。
       ctx.arc(x,y,2,0,2*Math.PI,false);
   }else {
       //fillStyle填充绘画的颜色、渐变或模式。默认值为黑丝
       ctx.fillStyle="#ccc";
       ctx.arc(x,y,2,0,2*Math.PI,false);
   }
   //ctx.arc(x,y,2,0,2*Math.PI,false);//在x,y坐标处画出一个实心圆点
   ctx.fill();//填充画圆

提问者:飘转 2016-11-20 13:44

个回答

  • 慕勒0538261
    2016-11-21 14:44:17
    已采纳

    默认填充色是黑色,但是当执行第一次else后,就重置了fillStyle为灰色,如果在if中不重新设置下填充色,就会被一直是灰色