【问题标题】:p5.js - width not defined?p5.j​​s - 未定义宽度?
【发布时间】:2018-01-27 15:28:29
【问题描述】:
var grid;
function setup() {
  createCanvas(800, 800);
  grid = {
    x1: width / 10,
    y1: height / 10,
    x2: width - grid.x1,
    y2: height - grid.y1,
    width: grid.x2 - grid.x1,
    height: grid.y2 - grid.y1,
    margin: grid.width / 10,
    //margin of each lines
  };

  background(255);

}

function draw() {
  grid();
  DDA(grid.x1, grid.y1, grid.margin, grid.margin);
}
// ......

p5.js - random(), height, and width not defined?

我看到了这个问题,我把我的代码改成了这个,但它不起作用并且有一个错误

“第 4 行,第 3 列:重新分配 'grid',它是一个函数。使用 'var' 或 'let' 来声明可能更改的绑定。”

我使用p5.js制作网格图

【问题讨论】:

    标签: javascript web processing p5.js


    【解决方案1】:

    在 JavaScript 中,不能有同名的变量和函数。 (更令人困惑的是,函数变量!)

    您的错误是告诉您有一个grid 变量和一个grid() 函数。您是否在其他地方定义了grid() 函数?如果是这样,只需将 var grid 重命名为其他名称,这样就不会与函数发生冲突。

    如果您没有在任何地方定义 grid() 函数,那么可能是因为您正在调用 grid() 就像您的 draw() 函数中的函数一样,这对您的代码没有意义'已经发布了。在您的代码中,grid 是一个对象,而不是一个函数。

    如果您仍有问题,请在新的问题帖子中发布MCVE。 (您发布的代码确实没有显示您所描述的行为,因为它不完整。我们应该能够复制粘贴您的代码以查看与您完全相同的内容。)

    【讨论】:

    • 我真的很感谢你帮助凯文,没有名为“网格”的功能,无论如何我用另一种方式解决了这个问题。再次感谢您的帮助,下次当我发布新问题时,我会按照您的方式进行操作。谢谢:D
    【解决方案2】:

    您需要将网格变量中的所有子变量都放在网格启动函数中,如下所示:

    grid = {
      start : function(){
        x1: width / 10,
        y1: height / 10,
        x2: width - grid.x1,
        y2: height - grid.y1,
        width: grid.x2 - grid.x1,
        height: grid.y2 - grid.y1,
        margin: grid.width / 10,
        //margin of each lines
      }
    };
    grid.start();
    

    使用此代码并替换旧的网格变量。

    【讨论】:

      猜你喜欢
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多