所以我正在使用p5.js制作游戏。通过这个游戏,我制造了一个障碍物,它会从画布顶部掉下来。我已经应用了fill
工具来为我的障碍物着色。我也为玩家使用了这个。在我制作障碍物之前,没有错误,但是我收到并错误地说
Uncaught ReferenceError: fill is not defined
at new obstacle (script.js:22)
at script.js:27
function obstacle() {
this.x = xPositions;
this.y = yPositions;
this.diameter = 15;
fill(209, 144, 4);
this.display2 = function() {
ellipse(this.x, this.y, this.diameter, this.diameter);
};
}
var asteroid = new obstacle();
asteroid.display2();
我猜这条线在任何函数之外:
var asteroid = new obstacle();
这意味着这是在调用setup()
函数之前发生的。这是不行的。阅读此处了解更多信息:为什么我不能在 setup(( 之前使用 p5 函数和变量分配变量?
基本上,在调用 setup()
之前,您不能使用 P5.js 函数,因为 P5.js 库尚未加载。
换句话说,将初始化移动到 setup()
函数内部。请注意,声明仍然可以在外部,如下所示:
var asteroid;
function setup(){
asteroid = new Obstacle();
}
但退一步说,无论如何在构造函数中调用 fill()
函数都没有意义,因为当您第一次实例化对象时,不应绘制任何内容。您可能希望将其移动到 Obstacle
对象内的 display()
函数内。
如果您仍然无法使其正常工作,请在新的问题帖子中发布MCVE,我们将从那里开始。祝你好运。