Является ли этот синтаксис для этого класса правильным, не работает правильно, Ошибка сценария. (: строка 0) (javascript p5.js) - PullRequest
0 голосов
/ 08 января 2019

Я создаю класс, который принимает массив векторов, а затем рисует лист с координатами каждого из элементов в массиве. Я написал класс для достижения этой цели, который принимает массив векторов в качестве аргумента int в конструкторе, а затем имеет функцию рисования. Я попытался реализовать это в своем коде, однако я получаю ошибку сценария и не могу определить, что не так.

Код ниже - это класс, который я использую, но он использует геттер из класса, который создает дерево, классы в комбинации можно найти здесь: https://editor.p5js.org/remcqueen/sketches/rkk9QMzG4

class drawLeaves {

  constructor(leafArray) {
    this.leafs = leafArray
  }

  genLeaves(minDiam, maxDiam, minAlpha, maxAlpha) {
    let i;
    for (i = 0; i < this.leafs.length; i++) {
        let h = map(i, 0, this.leafs.length, minHue, maxHue);
        let s = 255;
        let b = 255;
        let a = random(minAlpha, maxAlpha);
        fill(h, s, b, a);
        let diam = random(minDiam, maxDiam);
        let jitterX = random(-30, 30);
        let jitterY = random(-30, 30);  
        ellipse(this.leafs[i].x + jitterX, this.leafs[i].y + jitterY, diam, diam);
    }
  }

  draw() {
    this.genLeaves(0, 50, 0, 0.12);  // big leaves
    this.genLeaves(0, 15, 0, 0.4);  // small leaves
  }
}

Этот класс должен рисовать эллипсы стиля отпуска при вызове метода draw.

1 Ответ

0 голосов
/ 08 января 2019

Вам нужно установить minHue и maxHue

https://editor.p5js.org/HerrSerker/sketches/HkwlLfGMN

var p;
var l;
var minHue = 20;
var maxHue = 250;
function setup() {
 // ...
}

// ...
...