Grid 简单网格绘制不需要';行不通

Grid 简单网格绘制不需要';行不通,grid,draw,Grid,Draw,我试图在画布上画一个简单的网格。首先我做了这个 function start() { var x = 0; var y = 0; for (x = 0; x < 500; x += 50) { line(0 + x, 50 + y, 50 + x, 50 + y, 1, "#111"); line(50 + x, 0 + y, 50 + x, 50 + y, 1, "#111"); if (x == 45

我试图在画布上画一个简单的网格。首先我做了这个

function start()
{   
   var x = 0;
   var y = 0;

    for (x = 0; x < 500; x += 50)
    {
        line(0 + x, 50 + y, 50 + x, 50 + y, 1, "#111");
        line(50 + x, 0 + y, 50 + x, 50 + y, 1, "#111");

        if (x == 450)
        {
            x = -50;
            y += 50;
        }
        if (y == 500)
        {
            x = 500;
        }
    }
}
函数开始()
{   
var x=0;
var y=0;
对于(x=0;x<500;x+=50)
{
线(0+x,50+y,50+x,50+y,1,“#111”);
线(50+x,0+y,50+x,50+y,1,“#111”);
如果(x==450)
{
x=-50;
y+=50;
}
如果(y==500)
{
x=500;
}
}
}
它很好用。但我希望能够轻松更改网格和画布的大小。所以我这样做了:

function start()
{   
    var x = 0;
    var y = 0;
    var cW = canvas.width;
    var cH = canvas.hight;
    var gS = 50; //gS = gridSpace

    for (x = 0; x < cW; x += gS)
    {
        line(0 + x, gS + y, gS + x, gS + y, 1, "#111");
        line(gS + x, 0 + y, gS + x, gS + y, 1, "#111");

        if (x == cW - gS)
        {
            x = -gS;
            y += gS;
        }
        if (y == cH)
        {
            x = cW;
        }
    }
}
函数开始()
{   
var x=0;
var y=0;
var cW=画布宽度;
var cH=canvas.hight;
var gS=50;//gS=gridSpace
对于(x=0;x
它不起作用!请帮帮我

另外,我正在使用图书馆。
`

您可能希望以不同的方式处理此问题。我不完全确定您在这里想要完成什么,但这里有一些提示/问题可以指导您尝试做什么:

  • 绘制轴网时,您正在绘制一系列水平线和一系列垂直线。使用两个循环来简化该过程
  • 对于水平线,y值不同,但线端点的x坐标保持不变(例如0和cW)。反之则适用于垂直线
  • 你真正想要达到什么样的间距?通常,您需要将空间划分为一定数量的区域(例如6行4列),或者不适合您正在绘制的特定画布的间距(这就是您的代码似乎正在尝试的)。因此,第一个将适应画布的大小,而后一个将随着画布大小的变化而显示更多/更少的行/列

我希望这能帮助你解决你的问题,如果你需要更多的帮助,请告诉我

一种可能性是,您的
高度拼写错误。我相信javascript,如果这是javascript,不会抱怨变量命名错误。(这一点我可能错了)

应该是

var cH = canvas.height;

请说得更具体些。什么语言,什么框架,什么库,等等?是的,谢谢,过了一会儿我注意到了。现在修好了,谢谢!
var cH = canvas.height;