【问题标题】:Javascript Canvas Grid (WRONG OUTPUT HELP!!)Javascript Canvas Grid(错误的输出帮助!!)
【发布时间】:2017-09-23 15:11:44
【问题描述】:

嗨,我正在尝试在 javascript/canvas 中创建一个网格,但我遇到了一些问题,这是我的代码: var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d");

            var width = 600;
            var height = 700;

            canvas.width=width;
            canvas.height=height;

            function Cell(x,y,width,height){
                this.x=x;
                this.y=y;
                this.width=width;
                this.height=height;
                this.draw=function(){
                    ctx.rect(this.x,this.y,this.width,this.height);
                    ctx.stroke();
                }
            }

            var x = 0;
            var y = 0;
            var width = 20;
            var height = 20;

            var cell = new Cell(x,y,width,height);

            var rows = 35;
            var cols = 30;

            function drawGrid(){
                for(var i=0; i<rows; i++){
                    for(var j=0; j<cols; j++){
                        cell.y+=cell.height;
                        cell.x+=cell.width;
                        cell.draw();
                    }
                }


            }

            setInterval(drawGrid,1);

这是输出:The grid so far 我希望它用矩形填充屏幕。请帮忙!:)

【问题讨论】:

    标签: javascript canvas grid


    【解决方案1】:

    如果您只是想绘制一个方框网格,我建议您这样做:

    var c = document.getElementById("myCanvas");
    var ctx = c.getContext("2d");
    
    //change these if you dont want to fill the whole canvas
    var h = c.height; //height of grid 
    var w = c.width;  //width of grid
    
    var div=20; //box size
    
    for(i=0; i<h/div+1; i++){
      //Horizontal Line
      ctx.moveTo(0,i*div);
      ctx.lineTo(h,i*div); 
      //Vertial Line
      ctx.moveTo(i*div,0);
      ctx.lineTo(i*div,w);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多