如何使用对象并创建不同颜色的正方形

时间:2019-07-17 12:13:36

标签: javascript arrays object colors

我正试图在可汗学院做一些简单的编码。该程序仅创建4本书,包括书架,作者,书名和书评。当我尝试将颜色插入无法使用的填充命令时,我遇到了一个对象存储颜色的问题。还有星星     (评分系统)搞砸了,如果您愿意,可以帮助我。

book[{
  bookColor: [255, 0, 0];
} {
  bookColor: [0, 0, 255]
}]
for (var j = 0; j < 4; j++) {
  fill(book[j].colorBook, book[j].colorBook, book[j].bookColor);

  //this did not work ;( ;( ended up with the books being white.

  var book = [{ /*first book*/
      title: "Vampirates",
      stars: 4,
      bookColor: [93, 240, 98],

      author: "Justin Somper"

    },
    { /*Second book*/
      title: "Harry Potter",
      stars: 5,
      bookColor: [235, 240, 93],
      author: "J.K Rowling"

    }, /*thrid book*/
    {
      title: "Junie B Jones",
      stars: 2,
      bookColor: [255, 0, 0],
      author: "Barbra Park"

    },
    { /*fourth book*/
      title: "Cat in the hat",
      stars: 5,
      bookColor: [0, 0, 255],
      author: "Dr. Seus",


    }
  ];
  // draw shelf
  fill(173, 117, 33);
  rect(0, 120, width, 10);
  // draw lots of books
  for (var j = 0; j < 4; j++) {
    fill(book[j].colorBook, book[j].colorBook, book[j].bookColor);
    rect(j * 102, 19, 90, 100);

    //title
    textSize(12);
    fill(0, 0, 0);
    text(book[j].title, j * 104 + 7, 27, 76, 100);
    //author
    textSize(10);
    text(book[j].author, j * 104 + 10, 43, 70, 98);
  }

  for (var i = 0; i < book[i].stars; i++) {
    image(getImage("cute/Star"), 4 + i * 16, 87, 20, 35);
  }

我希望一行(书架)上有4个正方形(书本),并且书本上应有作者,书名,正确数量的星星,并且它们的颜色应在右边。绿色,黄色,红色,蓝色。非常感谢您的帮助,它将极大地影响我对Java Script的学习。

1 个答案:

答案 0 :(得分:1)

您正尝试访问colorBook而不是bookColor

fill(book[j].colorBook, book[j].colorBook, book[j].bookColor);