Попытка получить цвет объекта из массива - PullRequest
0 голосов
/ 24 мая 2018

Итак, я занимаюсь этим часами, и мой мозг зажарен, поэтому я мог бы немного помочь.

Мне нужно взять значение цвета из последнего добавленного объекта в массиве и использовать его для отдельной функции.

В комментариях это задача № 4.Мне не удалось получить правильный синтаксис, и до сих пор Google был абсолютно бесполезен.

function mousePressed() {
saveSpot();
print(spots);
}

function saveSpot() {
  let newSpot = new Spot (mouseX, mouseY, currentColor());
  spots.push(newSpot);
}

function lastColor() {
 var lastColor = color(255);

 // #4 Return the color of the most recently added Spot in the spots array

return lastColor;
}

function drawLastColor() {
  fill(lastColor());
  textSize(50);
  text("L", 10, 50);
}

function currentColor() {
  return color(0, mouseX, mouseY);
}

class Spot {
  constructor(x, y, color) {
    this.x = x;
    this.y = y;
    this.color = color;
    this.size = 25;
  }

  draw() {
    noStroke();
    fill(this.color);
    ellipse(this.x, this.y, this.size, this.size);
  }
}

Если вам нужно увидеть больше кода или нужна дополнительная информация, просто спросите, и я предоставлючто я могу.Любая помощь, которую вы, ребята, могли бы дать, была бы очень признательна!Спасибо за ваше время!

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Если вам нужно взять последний элемент, добавленный в массив, это будет spots.pop() Поскольку у вас есть объект Spot, попробуйте с помощью spots.pop().color.

Имейте в виду, поскольку pop изменяетмассив на месте.Если вам нужно найти значение, попробуйте набрать spots[spots.length-1].color

0 голосов
/ 24 мая 2018

Вы можете взять последний элемент spots и получить свойство color.

function lastColor() {
    return spots[spots.length - 1].color;
}

С проверкой, существует ли последний элемент.Если нет, то возвращается undefined.

function lastColor() {
    var last = spots[spots.length - 1];
    return last && last.color;
}
...