【问题标题】:Returns 'Undefined'返回“未定义”
【发布时间】:2021-10-11 22:53:02
【问题描述】:

为什么在“绘制”期间每个点返回“未定义”而不是坐标?设置期间不能填充数组吗?

let a = [];
var scl = 10;

class Point {
  constructor(i, j) {
    this.x = i;
    this.y = j;
  }
}

function setup() {
  createCanvas(600, 600);
  for(x = 0; x < width; x += scl) {
    a[x] = [];
    for(y = 0; y < height; y += scl) {
      let p = new Point(x, y);
      a[x][y] = p;
    }
  }
}

function draw() {
  background(0);
  
  a.forEach( p => {
    rect(p.x, p.y, scl);
  });
}

【问题讨论】:

  • 如果元素不连续,不要使用数组,使用对象。
  • setup() 中,你用数组填充a 数组,而不是Point 实例

标签: javascript processing p5.js


【解决方案1】:

a 是二维数组,需要嵌套循环:

function draw() {
    background(0);
    a.forEach(row => row.forEach(p => rect(p.x, p.y, scl)));
}

【讨论】:

    猜你喜欢
    • 2019-11-17
    • 2016-11-18
    • 2019-12-24
    • 2016-05-15
    • 2017-03-11
    • 2019-07-09
    • 2020-10-02
    • 2020-05-22
    • 2018-10-02
    相关资源
    最近更新 更多