“未捕获的TypeError:无法在p5.js上读取未定义的属性'bind'

时间:2016-12-11 02:24:29

标签: javascript p5.js

我正在使用p5.js来使用与sprite的按钮交互。我只是通过for循环有一个关于按钮创建的快速问题。我知道我可以轻松地为4个按钮中的每个按钮创建单独的对象,但我想看看它是如何以这种方式工作只是为了缩短代码。

我想让按钮每个调用一个函数“puton(i)”,在for循环中增加一个i,这样每个按钮可以做一些不同的事情(在我的情况下是穿上不同的衣服)。但是,我收到了这个错误:

vertex.property(field).value()

我真的不太了解参数在javascript中是如何工作的,所以我可能会接近这个非常错误,所以我们也会欣赏一些更有效的方法(除了对每个按钮进行硬编码)。

提前致谢!

Uncaught TypeError: Cannot read property 'bind' of undefined.

1 个答案:

答案 0 :(得分:1)

.mousePressed()将函数作为其参数,而不是函数调用。 官方文档中有一个很好的例子:https://p5js.org/reference/#/p5.Element/mousePressed

这适用于您的情况:

change.mousePressed(puton);

甚至这个:

change.mousePressed(function(e) {
    console.log(e);
});