为什么最后显示出来的全是1,而且还是斜着的呢

来源:3-2 倒计时数字钟的具体绘制

慕后端1372688

2016-09-28 14:24

var window_width=1024;

var window_height=768;

var radius=8;

var margin_top=60;

var margin_left=30;

window.onload=function(){

var canvas=document.getElementById("canvas");

var context=canvas.getContext("2d");

canvas.width=window_width;

canvas.height=window_height;

render(context);

}



function render(cxt){

var hours=12;

var minutes=36;

var seconds=56;


renderDigit(margin_left,margin_top,parseInt(hours/10),cxt);

renderDigit(margin_left+15*(radius+1),margin_top,parseInt(hours%10),cxt);

renderDigit(margin_left+30*(radius+1),margin_top,10,cxt);

renderDigit(margin_left+39*(radius+1),margin_top,parseInt(minutes%10),cxt);

renderDigit(margin_left+54*(radius+1),margin_top,parseInt(minutes%10),cxt);

renderDigit(margin_left+69*(radius+1),margin_top,10,cxt);

renderDigit(margin_left+78*(radius+1),margin_top,parseInt(seconds%10),cxt);

renderDigit(margin_left+93*(radius+1),margin_top,parseInt(seconds%10),cxt);

}

function renderDigit(x,y,num,cxt){

cxt.fillStyle="red";

//x循环出每个数组的每个圆的位置

for (var i=0;i<digit[num].length;i++) {

for (var j=0;j<digit[num][i].length;j++) {

if(digit[num][i][j] == 1){

cxt.beginPath();

cxt.arc(x+j*2*(radius+1)+(radius+1),y+j*2*(radius+1)+(radius+1),radius, 0,2*Math.PI);

cxt.closePath();

cxt.fill();

}

}

}

}


写回答 关注

1回答

  • qq_我的小乖乖
    2016-09-28 23:26:13
    已采纳

    你应该还发现了你出来的不是圆,所以在renderDigit函数里找问题。画圆设参数时圆心y坐标那里y+j*2*。。。那里是i。是y+i*2.。。

    慕后端137...

    非常感谢!

    2016-10-06 19:24:53

    共 2 条回复 >

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96746 学习 · 1000 问题

查看课程

相似问题