当我将它们放入循环中时,对象不会出现在屏幕上

时间:2016-10-27 16:55:29

标签: javascript

昨天我开始使用javascript p5库。我的问题是,当我在draw()函数中手动编写对象时 - 它们出现在屏幕上,一切都很好,但是当我把它们放在一个循环中时,它们就不会出现了。

function draw() {
   object[0].show();
   object[1].show();
   object[2].show();
   object[3].show();
}

这很好。

for(var i = 0; i < objectsCreated; i++) {
    object[i].show();
}

这不起作用。

this.show = function() {
    fill(this.color);
    rect(this.x, this.y, this.sizex, this.sizey);
}

这是我展示它的功能。

1 个答案:

答案 0 :(得分:0)

当您循环浏览所有内容时,可能会丢失this的上下文。这不太可能是问题,但可能值得重构this.show,以便它的行为在调用堆栈中更容易预测。

试试这个:

this.show = () => { fill(this.color); rect(this.x, this.y, this.sizex, this.sizey); };