Возвращение массива из функции стрелки в JavaScript - PullRequest
0 голосов
/ 28 апреля 2020

Я делаю генератор солнечной системы в JavaScript в p5. js и хочу вернуть массив значений rgb из функции стрелки, но она не работает. Звезда белая вместо желтого, оранжевого или красного.

class Star {
  constructor(x, y) {
    this.x = x;
    this.y = y;
    this.size = random(50, 70);
    this.color = () => {
      let colorChoice = floor(random(6));
      switch(colorChoice) {
        case 0: case 1: case 2: case 3:
          return [255, 255, 0];
          break;
        case 4:
          return [255, 150, 0];
          break;
        case 5:
          return [255, 0, 0];
          break;
      }
    }
  }

  show() {
    noStroke();
    fill(this.color[0], this.color[1], this.color[2]);
    circle(this.x, this.y, this.size);
  }
}

Что-то не так в самой функции или где-то еще?

1 Ответ

1 голос
/ 28 апреля 2020

this.color - это функция. Попробуйте обновить show() метод до

let color = this.color();
fill(color[0], color[1], color[2]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...