我正在创建一个使用向量数组的类,然后在数组中每个项目的坐标上绘制一片叶子。我编写了一个类来实现这一点,该类将向量数组作为构造函数中的int参数,然后具有一个draw函数。我试图将其实现到我的代码中,但是我遇到了脚本错误,无法识别出什么地方出了问题。

下面的代码是我正在使用的类,但这使用了创建树的类中的吸气剂,可以在此处找到组合的类: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方法时,此类应绘制休假样式省略号。

最佳答案

您需要设置minHuemaxHue

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

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

// ...

10-04 12:27