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

不知道是哪里出错,只有一个灰色的框

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>倒计时效果</title>
</head>
<body>
    <canvas id="canvas" style="border:1px solid #aaa; display:block; margin:50px auto;">
        当前浏览器不支持canvas,请更换浏览器后再试(若支持则忽略此行代码)
    </canvas>
<script type="text/javascript">
    var tangram = [
        {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:"#caff67"},
        {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:"#67becf"},
        {p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"#ef3d61"},
        {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"#f9f51a"},
        {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},{x:200,y:600}],color:"#a594c0"},
        {p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:"#fa8ecc"},
        {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:"#f6ca29"},

    ]

    window.onload = function(){
        var canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 800;

        var context = canvas.gtContext("2d");
        //使用context绘制
        
        for (var i = 0:i<tangram.length; i ++) {
            draw( tangram[i],context)
        }
        function draw( plice , cxt){
            cxt.beginPath();
            cxt.moveTo( plice.p[0].x , plice.p[0].y);
            for (var i = 1; i<plice.p.length ; i++) {
                cxt.closePath();
                cxt.fillStyle=plice.color;
                cxt.fill();
                
                context.lineWidth = 3
                 context.strokeStyle = "red"
                context.stroke()//stroke笔画的意思,用来绘制线条
            }
</script>

</body>
</html>

正在回答

4 回答

忘记说for循环 i=1; 后面是分号不是冒号

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

http://img1.sycdn.imooc.com//57874c140001728c07980937.jpg 一定要细心

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

就是你的for循环遍历完得有最终的确定点呀,所以少了一行代码,你把cxt.lineTo(plice.p[i].x,plice.p[i].y);这句话加上去试试,看看有没有用

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

        function draw( plice , cxt){
            cxt.beginPath();
            cxt.moveTo( plice.p[0].x , plice.p[0].y);
            for (var i = 1; i<plice.p.length ; i++) {

               cxt.lineTo(plice.p[i].x,plice.p[i].y);

                cxt.closePath();
                cxt.fillStyle=plice.color;
                cxt.fill();




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

举报

0/150
提交
取消

不知道是哪里出错,只有一个灰色的框

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